1

我为 Azure APIM 编写了一个简单的策略表达式,其中包含一个代码块表达式。这有效:

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

但是,这不起作用:

@{ 返回 "开始" + 新随机 ().Next().ToString() + "结束" }

我尝试了第二个示例的几种变体,但无法让 APIM 策略管理器接受它。APIM 策略错误返回以下错误:

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

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

4

3 回答 3

3

尝试将其重写为(注意最后的分号):

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

或(没有“返回”):

@{ "start" + new Random().Next().ToString() + "end" }
于 2016-02-06T23:49:02.987 回答
2

您也可以只使用单个语句表达式和时髦的新 c# 6 字符串插值

@($"start {new Random().Next().ToString()} end")
于 2016-02-07T22:44:52.207 回答
0

尝试在末尾添加 ;(分号)。

@{ return "start" + new Random().Next().ToString() + "end"; }
于 2020-08-07T14:19:54.543 回答