0

前提:

我有一个 Windows 服务,它充当基于 IIS 的 ASP.NET MVC3 应用程序的客户端。它们都在同一台机器上运行,我试图让它们通过 SignalR 相互通信。

我正在使用从 Windows 服务上的 Nuget 下载的 SignalR.Client 库,并且已成功将其连接到 IIS。但是,现在我正在从 MVC 端 SignalR Hub 调用一个函数,该函数应该传播到客户端(包括我的 Windows 服务)——Windows 服务没有接收任何事件。

我试过的:

我尝试过以多种方式订阅服务器端事件,但这是我当前的代码:

private static Connection WebUIConnection = new HubConnection(ConfigurationManager.AppSettings["localIISLocation"]);
private static IHubProxy webUiHubProxy = new HubProxy(WebUIConnection, "Hub");

----

WebUIConnection.Credentials = new System.Net.NetworkCredential(userName, password);

webUiHubProxy.On("invoke", () => Console.WriteLine("Derp"));

WebUIConnection.Start().Wait();

然后在 IIS 端调用:

Clients.invoke();

因此,我尝试从 Windows 服务调用事物,并且这些工作完美,但是 - 当信息需要来自 IIS-> Windows 服务时,绝对没有任何反应。

现在,看到 SignalR 内部有动态绑定,我没有看到任何异常被抛出,我完全不知道如何调试它。我用事件查看器检查了应用程序日志,那里没有任何不确定的地方。

我在想,如果 Windows 中可能有一个系统不允许 IIS 连接到本地机器(作为一种安全措施),但奇怪的是连接在一个方向而不是另一个方向上完美工作。

关于如何调试这个的任何想法,或者实际上这可能是什么?

最好的问候,拉里

4

0 回答 0