Клиент SignalR .NET: не удается установить соединение из домена приложения веб-приложения

Постараюсь вкратце рассказать:

Я хочу вызвать метод в хабе в веб-приложении из основной сборки в мое заявление. Причина в том, что у меня есть ряд приложений, которые в конечном итоге вызывают основные и инициирующие события (например, мобильный Интернет, сайт администратора, API и т. д.). Я хочу уведомлять пользователей настольного сайта о событиях по мере их возникновения с помощью SignalR.

Чтобы увеличить это число, я создал решение из 4 проектов. Основной проект с прокси-сервером. Веб-приложение с концентратором. Еще одно веб-приложение без хаба. И, наконец, консольное приложение.

Если я вызываю ядро ​​​​из консольного приложения и пытаюсь отправить сообщение клиентам-концентраторам с помощью прокси-сервера, все работает отлично. Однако, если я попытаюсь вызвать ядро ​​​​и использовать прокси из одного из веб-приложений, выполнение зависнет при вызове подключения. Start ():

var connection = new HubConnection("...");
var hub = connection.CreateProxy("Spike.Hub");
connection.Start().Wait();

Является ли материал SignalR.Client не предназначен для использования из домен приложения веб-приложения? Почему это работает должным образом в консольном приложении, но не в веб-приложении?


Обновление: я подключил свой шип к источнику SignalR, и при запуске из одного из веб-приложений выполнение зависает на строке 130 SignalR.Client. .Связь. _syncContext для такого соединения является экземпляром AspNetSynchronizationContext, и при вызове его метода Post() все останавливается.

8
задан spot 2 March 2012 в 23:31
поделиться