Azure ServiceBus SqlFilter表达式语法错误

时间:2017-08-20 19:47:24

标签: azure azureservicebus azure-servicebus-topics

将规则添加到SubscriptionClient时,如果不删除所有空格,则会出现语法错误。我读过的众多例子中没有一个必须这样做。有什么想法吗?

// This works (whitespace stripped from expression)
var rd= new RuleDescription("ZonesRule", new SqlFilter("Zone='All'"));
subscriptionClient.AddRule(rd);

// This does not work (normal whitespace in expression)
var rd= new RuleDescription("ZonesRule", new SqlFilter("Zone = 'All'"));
subscriptionClient.AddRule(rd);
  

Microsoft.ServiceBus.Messaging.FilterException:'发生错误   解析SQL表达式。 [令牌行= 1,列= 4,令牌错误=   ,其他详细信息=无法识别的字符。 '“]   TrackingId:4087836f-321C-45d7-B217-cb7fae75ee67_G11_B27 ...'

1 个答案:

答案 0 :(得分:1)

正如forester123提到的那样,语法完全没有问题。我也在我这边测试它,它工作正常。我们也可以从azure官方文件中获得SQLFilter syntax

enter image description here

如果可能,请尝试使用WindowsAzure.ServiceBus的最新4.1.3版本。