Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Azure服务总线属性筛选器_C#_Azure_Azureservicebus - Fatal编程技术网

C# Azure服务总线属性筛选器

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

我试图过滤来自ASB的消息,以便只显示具有特定属性且具有特定值的消息。我不确定这是否是不可能的,或者我的语法是否不正确

下面是我如何设置过滤器的:

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首次发布的海报,谢谢你的提醒。