ASP.NET Core中的服务总线

我希望我的ASP.NET Core应用程序将消息发送到Azure服务总线。

microsoft的文章Best Practices for performance improvements using Service Bus Messaging中,他们认为您应该重用客户端实例。

  

建议您在发送消息后不要关闭消息传递工厂或队列,主题和订阅客户端,然后在发送下一条消息时重新创建它们。

因此,我认为我不应该使用new关键字在控制器内实例化客户端的新实例(TopicClientQueueClient)。

我想我应该使用dependency injection in ASP.NET Core

我应该直接注入TopicClient / Queueclient还是创建一个自己的类来包装客户端实例并公开SendAsync方法?

在使用依赖注入器注册服务时,我应该将其注册为单例吗?

A19961217 回答:ASP.NET Core中的服务总线

我们用包装器类完成了该任务,然后返回TopicClient / QueueClient并将其注册为单例,发现此方法没有大问题。

我们的方法基于Microsoft eshopOnContainers提供的示例。

此功能file中提供了此功能的示例代码。然后,他们在需要ServiceBus的服务中在Startup.cs中将此类注册为单例。

本文链接:https://www.f2er.com/3166318.html

大家都在问