有时,Visual Studio中的信号器项目不会进行调试

时间:2016-02-25 20:12:41

标签: c# visual-studio signalr

我正在开发一个具有信号器实现的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;

为什么会出现这种情况?

1 个答案:

答案 0 :(得分:1)

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

我的理论是,问题在于IIS运行Signalr,无论出于何种原因,当它仍在尝试维持开放的信号器连接时,它无法正常终止。