SignalR.Client On -eventhandler не получает никаких событий - PullRequest
0 голосов
/ 10 января 2012

Помещение:

У меня есть служба Windows, которая действует как клиент для приложения ASP.NET MVC3 на основе IIS. Они оба работают на одной машине, и я пытаюсь заставить их общаться друг с другом через SignalR.

Я использую библиотеку SignalR.Client, загруженную из Nuget в службе Windows, и успешно подключил ее к IIS. Однако теперь, когда я вызываю функцию со стороны SignalR Hub на стороне MVC, которая должна распространяться на клиенты (включая мою службу 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 происходит динамическое связывание, я не вижу никаких исключений и не имею ни малейшего понятия, как подойти к отладке. Я проверил журналы приложений в Event Viewer, и там нет ничего неубедительного.

Я думаю, может быть, если в Windows есть система, которая запрещает IIS подключаться к локальной машине (в качестве меры безопасности), но странно, что соединение работает идеально в одном направлении, а не Другой.

Любые идеи о том, как отладить это, или на самом деле, о чем это может быть?

С уважением, Лари

...