为啥这个 azure apim 策略表达式会失败?
Posted
技术标签:
【中文标题】为啥这个 azure apim 策略表达式会失败?【英文标题】:why is this azure apim policy expression failing?为什么这个 azure apim 策略表达式会失败? 【发布时间】:2016-02-06 00:14:52 【问题描述】:我为 Azure APIM 编写了一个简单的策略表达式,其中包括一个代码块表达式。这有效:
@ return "start" + new Random().Next().ToString();
但是,这不起作用:
@ return "start" + new Random().Next().ToString() + "end"
我尝试了第二个示例的几种变体,但无法让 APIM 策略管理器接受它。 APIM 策略错误返回以下错误:
“第 1 行第 21 列元素 'log-to-eventhub' 中的错误:代码块表达式必须用大括号括起来。”
但是,上面的表达式是在大括号中的。知道如何在上面的第二个示例中实现我想要做的事情吗?
【问题讨论】:
编码new Random().Next()
如果代码在紧密循环中运行,会导致重复值。
【参考方案1】:
尝试改写为(注意末尾分号):
@ return "start" + new Random().Next().ToString() + "end";
或(不带“return”):
@ "start" + new Random().Next().ToString() + "end"
【讨论】:
【参考方案2】:您也可以只使用单个语句表达式和时髦的新 c# 6 字符串插值
@($"start new Random().Next().ToString() end")
【讨论】:
【参考方案3】:尝试在末尾添加 ;(分号)。
@ return "start" + new Random().Next().ToString() + "end";
【讨论】:
以上是关于为啥这个 azure apim 策略表达式会失败?的主要内容,如果未能解决你的问题,请参考以下文章