0

我有一个web api应用程序,它执行不同类型的操作,一个域实体,名为Application。 “复制”,“更新”,“回收”,“恢复”等操作。Azure服务总线队列分组消息

此操作需要按先进先出顺序执行,而不是随机或同时执行。但是,只要它们适用于两个独立的应用程序,它可以同时处理两个操作。

是某种队列,但不是所有请求的大队列,而是数据库中每个应用程序的一系列操作。我知道是一个很好的解决方案。

但是,我现在可以想到的解决方案是以编程方式为我在数据库中的每个应用程序创建一个队列,并开始监听该队列。

是否可以根据过滤器从队列中获取消息? (使用FIFO原则)所以我只需要订阅一个队列? (而不是每个应用程序的队列 - 这是很难保持)

+0

我回答你的问题了吗? – kspearrin

+0

@kspearrin谢谢你的回答。我将不得不做一些测试,看看它的工作。根据我所看到的,订阅允许我过滤队列,但o没有任何过滤条件。我只需要一个订阅,它根据应用程序标识属性 – Catalin

+0

接收区块中的队列。除非我误解了您,否则您应该为基于此应用程序Id标题的过滤主题创建多个订阅(针对每个应用程序)。然后,只需在发布到该主题的每条消息中包含应用程序标识。 – kspearrin

回答

1

你想要的是Azure Service Bus Topics/Subscriptions

通过订阅,您可以使用邮件标题上的SqlFilter来过滤发布到某个主题的邮件。

上面链接的文章应该提供足够的示例来满足您的需求。