模式可以是Http/Https/Tcp
或autodetect
(根据https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.connectivitymode?view=azure-dotnet的默认设置)
AutoDetect,在本地运行时执行一些检查(?)并选择可用和/或最佳(?)协议,但是,创建新的QueueClient
或SubscriptionClient
可能需要10秒钟。
在本地强制使用Https或Tcp使其接近即时。
ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Tcp;
但是有推荐的指南/政策在本地使用哪个指南/政策?如果可用,Tcp
的性能会更好吗?
有关作业是否位于Azure WebJob中的相同问题。
答案 0 :(得分:0)
AutoDetect,在本地运行时执行一些检查(?)并选择可用和/或最佳(?)协议,但是,创建新的QueueClient或SubscriptionClient可能需要10秒钟。
它没有选择最佳选项,而是尝试使用TCP,如果TCP端口被阻止,则将其降低到HTTP / S。
在本地强制使用Https或Tcp使其接近即时。
正确。在这种情况下,探测将被禁用,如果电流打开则将起作用,如果电流被阻止则将填补。
如果您的网络允许这些端口,则但是有推荐的指南/政策在本地使用哪个指南/政策?如果可用,Tcp的性能会更好吗?
TCP更好 。
有关作业是否位于Azure WebJob中的相同问题。
托管WebJobs(应用程序服务)的环境已打开所需的TCP端口。
另外一条评论:看来您正在使用旧客户端。除非是由于某些原因而无法转换的旧项目,否则建议使用新的Microsoft.Azure.ServiceBus客户端。