var filter = new Microsoft.Azure.ServiceBus.SqlFilter("GETDATE() = PostponedUntilDateTime");
如果不是,我有什么替代方案?
对于将消息发送到具有时间延迟的服务总线队列和主题,您应该利用计划消息传递。
您可以将邮件排定到具有特定时间的主题,以便它只在指定的时间排队到主题中。
ScheduleMessageAsync
是您应该用来实现它的方法。
https://github.com/azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.azure.servicebus/topicsubscriptionwithruleoperationssample 现在我想添加一个筛选器/规则,这样只有通过筛选器中定义的特定条件的消息才应该给订阅。 例如,下面
我试着按照1给出的教程学习。我创建了一个主题,其中有两个主题的订阅,分别使用sqlFilter(user_age<50)和(user_age>=50)。我为消息定义了一个自定义属性user_age。但当我发送关于这个主题的消息时,两个订阅都收到相同的消息,这是胡说八道!知道吗? 我的代码完全是从tuto中给出的代码中获得灵感的,只是我使用这段代码接收来自给定订阅的消息:
我们使用服务总线主题作为pub/sub系统的引擎。我们的逻辑涉及我们的NodeJS服务用多个订阅连接到一个主题。对于每个订阅,我们删除$default(TrueFilter),并在消息头的Label属性上创建一个CorrelationFilter,并且不在订阅中应用AutoDeleteOnIdle设置,因为我们希望确保订阅服务器功能在服务启动之前一直运行。 这个问题可以归结为这样:某件事能导致规则
我之所以要这样做,是因为我们的服务在部署时配置订阅规则,并且具有消息代理的服务可能会在具有订阅客户端的服务更改规则集和新的业务逻辑之前部署该服务,该服务会发送一组新的消息。我们不希望丢失在部署期间发送的消息,并在新服务退出时处理它们。 干杯。
下午好. 我们使用服务总线主题作为pub/sub系统的引擎。我们的逻辑涉及我们的C#服务通过订阅与主题挂钩。我们删除$default(TrueFilter),并将AutoDeleteOnIdle设置为5分钟。 当系统的其他部分需要东西时,他们告诉我们的C#服务,“我需要这个。”然后,C#服务添加新的规则(通常是CorrelationFilter)。 由于系统的那些相同部分不再需要东西,它们告诉我们
我试图遵循Mark Heath的控制台应用程序示例,使用筛选后的订阅检索服务总线主题消息。但是,我实际上无法检索实际筛选的消息(Filtered1、Filtered2)。消息确实会被使用,但我无法查看它们,因为代码从未像处理非过滤消息(AllMessages)那样进入回调函数。对我错过了什么有什么想法吗? 发件人代码 接收机代码