有时不会在 Visual Studio 中为信号器项目运行调试
本文关键字:信号器 项目 运行 调试 Studio Visual | 更新日期: 2023-09-27 18:36:25
我正在开发一个具有信号器实现的Web应用程序。
我使用Visual Studio 2015社区版本开发它。单击调试按钮时,它会在谷歌浏览器浏览器中打开,但有时页面不会加载。然后我必须关闭并重新启动可视化工作室。
然后它正常运行。一段时间后,它会重复该问题。
我在服务器端有一个集线器类;
public class PaylasimHub:Hub
{
public void Send(string update)
{
Clients.Group(senderUye.Eposta).broadcastMessage(update);
}
public override Task OnConnected()
{
string email= Context.User.Identity.Name;
Groups.Add(Context.ConnectionId, email);
return base.OnConnected();
}
public override Task OnDisconnected(bool stopCalled)
{
string email = Context.User.Identity.Name;
Groups.Remove(Context.ConnectionId, email);
return base.OnDisconnected(stopCalled);
}
}
在客户端从这个开始;
$.connection.hub.start();
$.connection.hub.logging = true;
为什么会发生这种事情?
我发现如果我停止调试会话而不从客户端关闭 Signalr 集线器连接(即 $.connection.hub.stop()),我会遇到各种各样的问题。 调试器需要永远停止,我有时会收到有关调试器不稳定的消息。 有时调试器也不会重新启动。 如果我正确关闭连接,一切正常。
我的理论是,问题出在运行Signalr的IIS上,无论出于何种原因,当它仍在尝试维护打开的Signalr连接时,它都不会正确终止。