来自不同计算机的多个.NET客户端SignalR

时间:2018-08-22 08:45:36

标签: c# signalr signalr.client

我在IIS上部署的ASP.NET MVC项目中有一个SignalR集线器。

我有一个使用“ SignalR .NET Client”在同一服务器(App1)上运行的WinForms应用程序。

在客户端,我还有另一个WinForms应用程序(App2),该应用程序使用局域网连接到同一集线器(使用“ SignalR .NET Client”)。

打开App1时,该问题出现在App2上,因为App2未连接到集线器。 (它将停止在App 2上运行此代码的执行):

//Start connection
await Config.hubConn.Start().ContinueWith(t =>
{
    if (t.IsFaulted)
    {
        Config.logReference.Func_WriteEventInLogFile(DateTime.Now.ToLocalTime(), enum_EventTypes.Error, String.Format("{0}.{1}()", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name),
                "Connecting to hub: Ko", string.Format("Error connecting to hub with url: {0}", Config.sSignalRHost));
        return false;
    }
    else
    {
        Config.logReference.Func_WriteEventInLogFile(DateTime.Now.ToLocalTime(), enum_EventTypes.Debug, String.Format("{0}.{1}()", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name),
                        "Before invoke App Opened", "Before invoke App Opened");
        Config.hubProxy.Invoke("AppOpened").Wait();
        Config.logReference.Func_WriteEventInLogFile(DateTime.Now.ToLocalTime(), enum_EventTypes.Info, String.Format("{0}.{1}()", MethodBase.GetCurrentMethod().DeclaringType.FullName, MethodBase.GetCurrentMethod().Name),
                        "Connecting to hub: Ok", string.Format("Connection stablished to hub with url: {0}", Config.sSignalRHost));
        return true;
    }
});

如果我关闭服务器上的App1,App2将开始工作并能够连接到集线器,但是我需要两个应用程序同时运行并连接到集线器。

编辑:我认为该问题与Windows 10家庭版IIS(在“程序和功能”中启用)的限制有关。我无法同时连接3 SignalR。

0 个答案:

没有答案