C# Azure服务总线属性筛选器
我试图过滤来自ASB的消息,以便只显示具有特定属性且具有特定值的消息。我不确定这是否是不可能的,或者我的语法是否不正确 下面是我如何设置过滤器的:C# Azure服务总线属性筛选器,c#,azure,azureservicebus,C#,Azure,Azureservicebus,我试图过滤来自ASB的消息,以便只显示具有特定属性且具有特定值的消息。我不确定这是否是不可能的,或者我的语法是否不正确 下面是我如何设置过滤器的: var ruleDescriptions = rules as RuleDescription[] ?? rules.ToArray(); var filter = new SqlFilter("PropertyName='PropertyValue'"); if (ruleDescriptions.All(x=>x.Filter != fil
var ruleDescriptions = rules as RuleDescription[] ?? rules.ToArray();
var filter = new SqlFilter("PropertyName='PropertyValue'");
if (ruleDescriptions.All(x=>x.Filter != filter))
{
_client.AddRule("FilterName", filter);
}
本例中的值是一个字符串。当我运行此程序时,我会收到具有该属性所有不同值的事件
我也尝试了同样的方法,但是在PropertyValue周围没有单引号,没有成功。如何设置此筛选器?经过进一步研究,我意识到需要使用以下内容删除默认筛选器:
if (ruleDescriptions.Any(ruleDescription => ruleDescription.Name == "$Default"))
{
_client.RemoveRule("$Default");
}
如果没有同时添加其他规则,则在创建订阅时会添加此默认规则。在这种情况下,我不是订阅主题的所有者,订阅是为我创建的。因此,已添加“$Default”规则并拾取所有邮件
添加此项后,上述筛选器按预期工作——仅接收基于指定PropertyValue的消息
来源:我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。您能说明如何设置邮件的属性吗?我猜你使用的是
代理消息
?@JohnSaunders首次发布的海报,谢谢你的提醒。