我正在开发一个具有信号器实现的Web应用程序。
我使用Visual Studio 2015社区版开发它。点击调试按钮后,它会在Google Chrome浏览器中打开,但有时页面未加载。然后我必须关闭并重新启动visual studio。
然后正常运行。过了一会儿,它重复了这个问题。
我在服务器端有一个集线器类;
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;
为什么会出现这种情况?
答案 0 :(得分:1)
我发现如果我在没有从客户端关闭Signalr集线器连接的情况下停止调试会话(即$ .connection.hub.stop()),我会遇到各种各样的问题。它将永远停止调试器,我有时会收到有关调试器不稳定的消息。有时调试器也不会重启。如果我正确关闭连接,一切正常。
我的理论是,问题在于IIS运行Signalr,无论出于何种原因,当它仍在尝试维持开放的信号器连接时,它无法正常终止。