首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Azure api管理中.Contains的奇怪行为

Azure api管理中.Contains的奇怪行为
EN

Stack Overflow用户
提问于 2020-12-04 00:25:21
回答 1查看 91关注 0票数 1

我在Azure API管理中遇到了这种奇怪的行为,正在寻找解决方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<set-variable name="isIOS" value="@(context.Request.Headers["User-Agent"].Contains("iOS"))" />

始终为false,除非存在精确匹配并且User-Agent值恰好为"iOS“。

如果它包含完整的字符串(在我的例子中)“Alamofire代理- iOS代理- xxxxx/1.2.4 (com.xxxxx.yyyyy.zz;build:108;iOS 14.3.0) Alamofire/4.9.1”isIOS被设置为"false“。

是否有人可以确认此行为和/或知道解决此问题的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 01:17:29

Azure API管理策略中的context.Request.Headers它是一个简单的IReadOnlyDictionary<string, string[]>

看看这里:https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ref-context-request

在您的示例中,您可以像这样获取isIOS变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<set-variable name="isIOS" value="@(context.Request.Headers.GetValueOrDefault("User-Agent","").Contains("iOS"))" />

微软也推荐这种方法,可以防止抛出像KeyNotFoundException这样的异常

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65136200

复制
相关文章
delete的奇怪行为
F的实例拥有一个value属性,但不希望在new的时候就初始化属性值(因为这个值不一定用得到,而且计算成本比较高,或者new的时候还不一定能算出来),那么自然想到通过定义getter来实现“按需计算”:
ayqy贾杰
2019/06/12
2.4K0
Linq to xml API中 XName 的奇怪实现
    最近,在使用LinqToXml的时候,使用到其中一个重要的类:XName。它表示一个XML元素/XML属性的“名字”。    System.Xml.Linq中的API,大量使用了这个类,如:
用户1172223
2018/01/26
9860
Azure 静态 web 应用集成 Azure 函数 API
前几次我们演示了如何通过Azure静态web应用功能发布vue跟blazor的项目(使用 Azure静态web应用+Github全自动部署VUE站点、使用Azure静态Web应用部署Blazor Webassembly应用)。但是一个真正的web应用,总是免不了需要后台api服务为前端提供数据或者处理数据的能力。同样前面我们也介绍了Azure函数服务,Azure函数的http trigger可以对http作出响应,可以完美的承当web api的角色。现在Azure静态web应用可以直接集成Azure函数,使得一次发布可以同时发布前端项目(vue、blazor)及后台api服务(azure函数)。
MJ.Zhou
2020/11/24
1.2K0
Azure 静态 web 应用集成 Azure 函数 API
开发中奇怪的问题
不修改代码前好好的,刚加了些代码运行就不可以了,然后注释重新编译还是不行。
Qt君
2019/12/16
1.5K0
taskscheduler java_java – taskScheduler池的奇怪行为「建议收藏」
我有两个弹簧启动应用程序(1.4.3.RELEASE),它们位于同一台服务器上.应用程序A是一个单一的应用程序,其中包含用于处理警报的部分代码,而应用程序B是一个仅处理警报的新专用应用程序.这里的目标是打破小应用程序中的monolotic应用程序.现在,这两个代码一起运行,因为我有旧系统,总是调用应用程序A.
全栈程序员站长
2022/11/10
1.8K0
iOS 中各种奇怪的崩溃
注意,本文所有崩溃的原因都是同一个 EXC_BAD_ACCESS (code=1, address=0x11f645b98) image-20210423232626879 第一个堆栈:字典扩容 im
酷酷的哀殿
2021/04/26
1.7K1
iOS  中各种奇怪的崩溃
NIO中那些奇怪的Buffer
妖魔鬼怪快快显形,今天F师兄帮助小师妹来斩妖除魔啦,什么BufferB,BufferL,BufferRB,BufferRL,BufferS,BufferU,BufferRS,BufferRU统统给你剖析个清清楚楚明明白白。
程序那些事
2020/07/07
9170
Shell中各种奇怪的变量
这些变量是随系统运行而变化的,灵活使这些变量可简化我们的操作和更好地控制bash shell的行为。
老高的技术博客
2022/12/27
5540
细数 TS 中那些奇怪的符号
TypeScript 是一种由微软开发的自由和开源的编程语言。它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。
阿宝哥
2020/09/10
6K1
细数 TS 中那些奇怪的符号
API用户行为分析监测
相信大家对Session-Cookie认证并不陌生,它是一种利用服务端的 Session(会话)和 浏览器(客户端) 的 Cookie 来实现的前后端通信认证模式,长期以来一直处于主流地位。
小阑本阑
2023/10/24
5751
API用户行为分析监测
PHP中in_array奇怪的问题
    按正常来说,这个肯定不在数组中,输出应该是false,但是这段代码输出却是true。
XiaoA
2023/05/24
4520
Python中的9个“奇怪”的现象
最近在网上偶然发现了很多“奇怪”的Python代码片段。本文,我与你们分享其中一些。
一墨编程学习
2019/05/10
9510
Python中的9个“奇怪”的现象
[Azure Devops] 使用 Azure Boards 管理工作
通过 Azure Boards 网络服务,团队可以管理其软件项目。它提供了丰富的功能,包括 Scrum 和看板的本地支持、可定制的仪表板和集成报告。这些工具可以随着业务的发展而扩展。
dino.c
2021/03/25
5860
[Azure Devops] 使用 Azure Boards 管理工作
JavaIO之:NIO中那些奇怪的Buffer
妖魔鬼怪快快显形,今天F师兄帮助小师妹来斩妖除魔啦,什么BufferB,BufferL,BufferRB,BufferRL,BufferS,BufferU,BufferRS,BufferRU统统给你剖析个清清楚楚明明白白。
子润先生
2021/06/22
5610
深度剖析众多的Azure管理工具
自从Windows Azure首次发布以来,微软公司的首要重点就一直是开发出一套工具来帮助用户管理其资源。这个云计算平台是出了名地难于管理,但是微软公司也在一直致力于满足客户需求并为供应商和开发人员提供一个应用程序编程接口(API)以扩展其功能。众多第三方厂商和开源企业都加入了为微软公司开发管理Azure不同方面工具的行列中,从而为用户提供一种较好的管理体验。但是,面对着所有执行不同任务的无数选择对象,作为用户的你又应当如何作出正确选择呢?首先,我们可以把这些工具划分为三种类别:微软公司的、开源的以及第三方
静一
2018/03/19
1.7K0
挑战与机遇:异常检测在上网行为管理中的角色
异常检测算法在上网行为管理软件中真是大有用途,不过也不是没有一些小挑战。大家都知道的,上网行为管理软件的目标是看管和掌控网上用户的行径,就是要确保网络稳如狗,合规规规矩矩,资源还能玩得溜。咱们这领域里,异常检测算法的点子用法是找出那些潜伏的安全威胁,打压不合规的事情,还有就是揪出网络上的怪现象,然后惩罚掉。
啵啵鳐
2023/09/06
2170
React 中的一个奇怪的 Hook
你可能已经注意到 React Hook 中有一个名为 useMemo 的奇怪的钩子。这个奇怪的钩子意味着什么,它的作用是什么?重要的是,它是怎样为你提供帮助的?
前端迷
2019/12/20
1.8K0
list的contains方法
先来简单说一下list的contains方法的作用,它的目的就是查看给定元素是否在list中存在,所以经常用于去除重复记录。用下面一个例子来说明一下。 从数据库中查询出满足一系列条件的记录,然后以对象的形式封装到List中去。假设有两个条件A和B,满足A记录的称为ListA,满足B记录的称为ListB,现在要将ListA和ListB合并到一个List中区,此时两个记录集中可能会含有相同的记录,所以我们要过滤掉重复的记录。假设存在的对象为User对象
OECOM
2020/07/02
1.5K0
vue中Axios的封装和API接口的管理
回归正题,我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。
Nealyang
2019/09/29
3.6K0
vue中Axios的封装和API接口的管理
Vue中Axios的封装和API接口的管理
回归正题,我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。
前端老道
2020/12/23
3.3K0
Vue中Axios的封装和API接口的管理

相似问题

《Uncaught: require not defined》with Angular 2/webpack

34

require not defined "var mysql = require('mysql');“

20

带有"target:'node'“和"type:'module'”的Webpack配置抛出了'require is not defined‘

189

尝试设置.env文件时出现‘'require is not defined’错误

10

导入文件系统模块时'ReferenceError: require is not defined‘

1504
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文