Асинхронная двунаправленная модель клиент/сервер для WPF-›Web

Хорошо, я знаю, что это может показаться странным вариантом использования, но вот...

У нас есть локальная сеть с гарантированным подключением с большим количеством (в среднем 30-50) одних и тех же развернутых приложений для толстого клиента (WPF или возможное приложение для Windows 8, мы еще не уверены, какое из двух хочет наш клиент) . Центральный сервер будет отслеживать этих клиентов на наличие различных обновлений статуса, некоторые из которых будут такими простыми, как «подключены ли вы к сети?» и некоторые, которые включают более сложные бизнес-правила.

Асинхронность (асинхронность?) является обязательной, потому что нам нужно знать о любых ошибках или обновлениях статуса как можно скорее. Нам также нужно, чтобы соединение было двунаправленным по очевидным причинам.

Я здесь не для того, чтобы говорить конкретно об архитектуре, поскольку мы все еще обсуждаем ее. Но мне интересно, есть ли у вас какая-то структура .NET, которая допускает такое соединение, которое нам нужно.

Я просмотрел SignalR и WebSockets, но оба они, похоже, больше подходят для веб-клиентов с бэк-эндом толстого клиента, и нам нужен обеспечить регресс.

Я знаю, что это все еще немного расплывчато, и это в основном потому, что мы все еще находимся на этапе проектирования. Но если у кого-нибудь есть какие-нибудь советы по фреймворку, на которые стоит обратить внимание, это было бы очень полезно!

Ваше здоровье!


person mshubert12    schedule 11.09.2012    source источник
comment
Если у вас есть локальная сеть с гарантированным подключением, то почему вы ограничиваетесь веб-сокетом?   -  person paparazzo    schedule 11.09.2012
comment
Lightstreamer может помочь вам, используя клиентскую библиотеку .NET ( lightstreamer.com )   -  person Alessandro Alinone    schedule 12.09.2012
comment
SignalR можно разместить в консольном приложении. Его не обязательно размещать в веб-приложении. SignalR на самом деле не волнует, является ли он веб-сайтом --› толстый клиент, толстый клиент --› веб, веб-сайт --› веб или толстый клиент --› толстый клиент. Пока серверная часть SignalR размещается где-то, к чему могут подключаться клиенты, она работает.   -  person Ryan Alford    schedule 12.09.2012
comment
Затмение, я бы хотел, чтобы вы опубликовали это как ответ, чтобы я мог пометить его как таковой. Я на самом деле обнаружил этот факт до того, как прочитал ваш комментарий, но спасибо за совет!   -  person mshubert12    schedule 12.09.2012


Ответы (1)


Возможно, вы захотите рассмотреть вариант самостоятельного размещения в SignalR.
SignalR не важно, где он размещен.

Взято с сайта SignalR:

Сервер SignalR обычно размещается в приложении ASP.NET в IIS, но его также можно разместить самостоятельно (например, в консольном приложении или службе Windows) с помощью собственной библиотеки размещения.

Учебник: SignalR Self-Host
http://www.asp.net/signalr/overview/getting-started/tutorial-signalr-self-host

person Ralph Willgoss    schedule 08.09.2013