为什么我的SignalR应用程序有时会断开连接

时间:2014-04-21 09:01:02

标签: c# asp.net-mvc signalr

我正在连接到这样的signalR集线器:

    $scope.starthubD = function() {
        $.connection.hub.start().done(function () {
            $.connection.HubName.server.method(sessionId);
        });
    };

我收到的消息是这样的:

    $.connection.HubName.client.method= function(msg) {
        $scope.cars.push(msg);
    };

通过集线器,我开始了10-12个长时间运行的线程:

public class ProcessHub: Hub
{
        IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<ProcessHub>();

        new Thread(() => new Process(connectionId, hubContext)).Start();
        new Thread(() => new Process2(connectionId, hubContext)).Start();
        new Thread(() => new Process3(connectionId, hubContext)).Start();
}

线程本身使用以下命令直接向客户端报告:

hubContext.Clients.Client(connectionId).report(data);

我遇到的问题是它大多数情况下 ,但有时我会断开此消息:

  

http://domain.se/signalr/connect?transport=serverSentEvents&connectionTok ... weVsQoXvUzH&安培; connectionData =%5B%7B%22name%22%3A%22carcompare%22%7D%5D&安培; TID = 7   净:: ERR_CONNECTION _

1 个答案:

答案 0 :(得分:4)

我发现了问题所在。其中一个线程抛出一个异常,使得与集线器的连接丢失。