将规则添加到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 ...'
答案 0 :(得分:1)
正如forester123提到的那样,语法完全没有问题。我也在我这边测试它,它工作正常。我们也可以从azure官方文件中获得SQLFilter syntax。
如果可能,请尝试使用WindowsAzure.ServiceBus的最新4.1.3版本。