为什么这个 azure apim 策略表达式失败了?
why is this azure apim policy expression failing?
我为 Azure APIM 编写了一个简单的策略表达式,其中包含一个代码块表达式。这有效:
@{ return "start" + new Random().Next().ToString(); }
但是,这不起作用:
@{ return "start" + new Random().Next().ToString() + "end" }
我尝试了第二个示例的多个变体,但无法让 APIM 策略管理器接受它。 APIM 策略错误 returns 以下错误:
"Error in element 'log-to-eventhub' on line 1, column 21: Code block expression must be enclosed in curly brackets."
然而,上面的表达式是在大括号中。知道如何在上面的第二个示例中实现我想要做的事情吗?
尝试将其重写为(注意末尾的分号):
@{ return "start" + new Random().Next().ToString() + "end"; }
或(没有“return”):
@{ "start" + new Random().Next().ToString() + "end" }
您也可以只使用单个语句表达式和时髦的新 C# 6 字符串插值
@($"start {new Random().Next().ToString()} end")
尝试在末尾添加 ;(分号)。
@{ return "start" + new Random().Next().ToString() + "end"; }
我为 Azure APIM 编写了一个简单的策略表达式,其中包含一个代码块表达式。这有效:
@{ return "start" + new Random().Next().ToString(); }
但是,这不起作用:
@{ return "start" + new Random().Next().ToString() + "end" }
我尝试了第二个示例的多个变体,但无法让 APIM 策略管理器接受它。 APIM 策略错误 returns 以下错误:
"Error in element 'log-to-eventhub' on line 1, column 21: Code block expression must be enclosed in curly brackets."
然而,上面的表达式是在大括号中。知道如何在上面的第二个示例中实现我想要做的事情吗?
尝试将其重写为(注意末尾的分号):
@{ return "start" + new Random().Next().ToString() + "end"; }
或(没有“return”):
@{ "start" + new Random().Next().ToString() + "end" }
您也可以只使用单个语句表达式和时髦的新 C# 6 字符串插值
@($"start {new Random().Next().ToString()} end")
尝试在末尾添加 ;(分号)。
@{ return "start" + new Random().Next().ToString() + "end"; }