azure - Azure ServiceBusEnvironment.SystemConnectivity.Mode 指南
问题描述
模式可以是Http/Https/Tcp
or 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 中,则同样的问题。
解决方案
AutoDetect,在本地运行时执行一些检查 (?) 并选择可用和/或最佳 (?) 协议,但是,创建新的 QueueClient 或 SubscriptionClient 可能需要 10 秒。
它没有选择最佳选项,而是尝试使用 TCP,如果 TCP 端口被阻止,则将其降低到 HTTP/S。
在本地强制 Https 或 Tcp 使其接近即时。
正确的。在这种情况下,探测被禁用,如果电流打开,则电流将工作,如果这些电流被阻塞,则将填充。
但是有推荐的指导/政策在当地使用哪一个?如果可用,Tcp 是否性能更高?
如果您的网络允许这些端口,TCP 会更好。
如果作业位于 Azure WebJob 中,则同样的问题。
托管 WebJobs(应用服务)的环境已打开所需的 TCP 端口。
附加评论:看起来您正在使用旧客户端。除非是老项目,由于某种原因无法转换,否则建议使用新的Microsoft.Azure.ServiceBus客户端。
推荐阅读
- java - 为什么当我修改原始 ArrayList 时复制的 ArrayList 会被修改
- c# - TCP C++ 客户端从 ac# 服务器接收字节数组
- ionic-framework - 离子应用程序的构建问题
- css - 获取内插字符串的值
- c# - 如何让客户收到他们填写的表格的副本,作为 ASP.NET + C# 中的 PDF
- react-native - React Native 与 Redux:mapStateToProps()-函数未更新
- ios - obj-c中如何拦截应用程序更新事件?
- java - 使用弹簧阅读附加的PDF文件
- javascript - Nodejs Sequelize 查找关联
- c# - 如何访问在公共方法中声明的变量以便在私有方法中使用它