为什么这个天蓝色的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策略错误返回以下错误:

“第1行第21行中元素'log-to-eventhub'中的错误:代码块表达式必须用大括号括起来。”

但是,上面的表达式大括号。 知道如何在上面的第二个例子中实现我想要做的事情吗?

I've written a simple policy expression for Azure APIM which includes a code block expression. This works:

@{ return "start" + new Random().Next().ToString(); }

However, this does not work:

@{ return "start" + new Random().Next().ToString() + "end" }

I tried several variations of the second example but was unable to get the APIM policy manager to accept it. The APIM policy error returns the following error:

"Error in element 'log-to-eventhub' on line 1, column 21: Code block expression must be enclosed in curly brackets."

However, the expression above is in curly brackets. Any idea how I can achieve what I'm trying to do in the second example above?

最满意答案

尝试将其重写为(注意末尾的分号):

@ {return“start”+ new Random()。Next()。ToString()+“end”; }

或(没有“返回”):

@ {“start”+ new Random()。Next()。ToString()+“end”}

Try rewriting it as (note semicolon at the end):

@{ return "start" + new Random().Next().ToString() + "end"; }

or (without "return"):

@{ "start" + new Random().Next().ToString() + "end" }

更多推荐