C# 在信号机中,是否可以模拟重新连接以进行测试?
我知道,如果连接因任何原因失败,信号员会不断尝试重新连接。测试我的服务器和客户端对此的响应的最佳方法是什么?要测试服务器上的断开连接,请浏览到其他页面C# 在信号机中,是否可以模拟重新连接以进行测试?,c#,asp.net,signalr,C#,Asp.net,Signalr,我知道,如果连接因任何原因失败,信号员会不断尝试重新连接。测试我的服务器和客户端对此的响应的最佳方法是什么?要测试服务器上的断开连接,请浏览到其他页面 要在客户端上测试断开连接:重置服务器(IISreset?)。为了让客户端尝试重新连接,您需要使用该方法配置。JavaScript代码如下所示: const connection = new signalR.HubConnectionBuilder() .withUrl(`${apiUrl}/subscribe/change`) .with
要在客户端上测试断开连接:重置服务器(IISreset?)。为了让客户端尝试重新连接,您需要使用该方法配置。JavaScript代码如下所示:
const connection = new signalR.HubConnectionBuilder()
.withUrl(`${apiUrl}/subscribe/change`)
.withAutomaticReconnect()
.build();
connection.onreconnecting(error => {
console.log('Reconnecting interval', error);
});
一旦设置好,当连接丢失时,客户端将尝试重新连接
在内部,当信号器断开连接时,它调用stopInternal
函数
如果您想进行一些手动测试,以确保您的处理程序被解雇,并且他们做了您期望他们做的事情。您可以将连接保存在常量中
并自己触发事件
我所做的:
窗口中缓存连接
网络条件
const connection = new signalR.HubConnectionBuilder()
.withUrl(`${apiUrl}/subscribe/change`)
.withAutomaticReconnect()
.build();
connection.onreconnecting(error => {
console.log('Reconnecting interval', error);
});
注意:此策略仅用于开发和一些手动测试。我不建议在单元测试或集成测试中使用窗口
对象
类似的策略也可以通过将连接缓存在单元测试使用的一些内部变量上来实现。这些都是错误的。要在服务器关闭后测试重新连接,请使用iisreset。要模拟客户端连接断开(祝你好运),请拉网线:)那么,你的意思是。。。您真的需要两端来创建连接吗?你创造了信号器还是什么?!?啊,我明白了。。。你做到了低下头,慢慢向后走——这是一个很好的解决方案,但我的客户是一个UWP应用程序。我想知道我是否可以用防火墙做同样的事情?