在 web api 中接收服务总线消息队列/主题
Posted
技术标签:
【中文标题】在 web api 中接收服务总线消息队列/主题【英文标题】:Receive service bus message queue/topics in web api 【发布时间】:2022-01-21 03:30:34 【问题描述】:我正在开发基于 azure 的微服务应用程序。我的要求是我有一个服务总线,我需要在 web api 中使用该服务总线消息。目前我通过azure函数实现,但我公司要求使用api。有可能吗?如果可以的话请教我怎么做
【问题讨论】:
是的。使用IHostedService
或BackgroundService
。
你能给我提供任何教程吗?如果我一次收到更多消息,这将如何处理?
查看如何连接到ServiceBus
,然后将其放入BackgroundService
的ExecuteAsync
方法中。然后从ExecuteAsync
方法中轮询,直到设置CancellationToken
。
谢谢,但我们再次使用后台服务而不是函数。那么有没有其他方法可以直接从 api 控制器调用消息?
能否请您参考这个docs.microsoft.com/en-us/rest/api/servicebus/…,希望对您有帮助
【参考方案1】:
您可以创建后台服务来监听来自服务总线队列的消息。 以下是需要注意的几个关键点:
在计时器上运行的后台任务。 激活范围服务的托管服务。作用域服务可以使用依赖注入 (DI)。 按顺序运行的排队后台任务。应用设置:
1.
2. "AppSettings":
3. "QueueConnectionString": "<replace your RootManageSharedAccessKey here>",
4. "QueueName": "order-queue"
5.
6.
您可以参考c-sharpcornerblog了解分步过程。
【讨论】:
以上是关于在 web api 中接收服务总线消息队列/主题的主要内容,如果未能解决你的问题,请参考以下文章