繁体   English   中英

天蓝色服务总线继电器断开连接问题

[英]Disconnection issues with azure service bus relay

我们正在运行一些长期运行的测试应用程序,其中Azure Service Bus中继通过http,托管在Windows服务中,大多数情况下,这些应用程序可以运行2-3天。 然而,每隔一段时间内就会发生内部网络glich(例如防火墙重启),这会导致互联网连接中断。

此时,中继在Azure中被删除,我们的Web应用程序无法再与内部部署服务通信。

我原本以为Azure中继客户端是容错的 - 因为如果它意识到它与Azure的连接丢失,那么它将重新建立连接,如果它不能继续尝试直到它可以..但它似乎不是这种情况。 这似乎很基本......?

只有一次我见过“System.ServiceModel.CommunicationException”,其中服务无法在互联网上通信,那就是客户端启动并尝试首先建立连接。

有没有关于通过中继服务处理瞬时断开的建议或反馈(因为它是云 - >在本地方向,然后客户端不能AFAIK ping服务器)。

如果您仍遇到问题,可能需要联系Azure支持以了解其断开连接的原因。 如果现有连接发生某种情况,则中继客户端应重新连接。

您可能希望将ConnectionStatusBehavior添加到ChannelFactory ,以便在连接状态更改时输出它。 它将包含导致其更改状态的错误。

var connectionStatusBehavior = new ConnectionStatusBehavior();
connectionStatusBehavior.Online += ConnectionStatusOnlineMethod;
connectionStatusBehavior.Offline += ConnectionStatusOfflineMethod;
channelFactory.Endpoint.Behaviors.Add(connectionStatusBehavior);

Microsoft在Microsoft Azure Service Bus dll的2.6.5版中解决了此问题。 经过1个月的测试,似乎有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM