IIS上的SignalR无法正常工作

时间:2017-01-06 00:07:09

标签: c# signalr

我有一个简单的SignalR应用程序,可以在VS2015的IIS中自托管或托管时运行正常。

当我尝试在完整的IIS中托管它时,我不会走得太远。这是我的连接代码:

public void Connect()
{
    _connection = new HubConnection(ServerUri);

    if (_enableDebugging)  //<== is True for debugging right now
    {
        _connection.TraceLevel = TraceLevels.All;
        _connection.TraceWriter = Console.Out;
    }

    _hubProxy = _connection.CreateHubProxy(HUB_NAME);

    _hubProxy.On<string>("EchoMessage", EchoMessage);
    _hubProxy.On<AssayDashboardInfo>("ResultsAdded", ResultsAdded);
    _hubProxy.On<AssayDashboardInfo>("ResultsChanged", ResultsChanged);

    _connection.Error += _connection_Error;
    _connection.StateChanged += _connection_StateChanged;

    try
    {
        _connection.Start();
    }
    catch (Exception e)
    {
        _logger.Error("*** Connection failed", e);
    }
}

我没有收到错误消息或异常。我得到的是控制台窗口中的一些输出:

23:57:41.8538683 - null - ChangeState(Disconnected,Connecting) 23:57:42.0208850 - null - 已断开连接 23:57:42.0208850 - null - Transport.Dispose() 23:57:42.0218851 - null - 已关闭

同样,没有异常或错误信息,我只能假设它没有找到集线器。 _connection_StateChanged事件被调用两次 - 首先使用&#34;连接&#34;然后立即使用&#34; Disconnected。&#34;就我而言,这就是那个。

此时我伸出手去看任何人都知道这些消息的含义或我做错了什么。

由于

1 个答案:

答案 0 :(得分:0)

(对不起英语)

我遇到了同样的问题。我不是那个解决它的人,赞美我的同事。

所以基本上错误来自IIS管理器上的虚拟文件夹。所以你必须直接指向文件的根目录。

希望有用。