有时不会在 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;

为什么会发生这种事情?

有时不会在 Visual Studio 中为信号器项目运行调试

我发现如果我停止调试会话而不从客户端关闭 Signalr 集线器连接(即 $.connection.hub.stop()),我会遇到各种各样的问题。 调试器需要永远停止,我有时会收到有关调试器不稳定的消息。 有时调试器也不会重新启动。 如果我正确关闭连接,一切正常。

我的理论是,问题出在运行Signalr的IIS上,无论出于何种原因,当它仍在尝试维护打开的Signalr连接时,它都不会正确终止。