Подтвердить что ты не робот

Правильно ли использовать SignalR для настольных приложений?

Является ли SignalR подходящим для настольных приложений Windows (winforms/wpf)?

Каковы преимущества и недостатки использования SignalR при использовании настольных приложений Windows?

Есть ли какие-либо соображения производительности?

Я хочу установить соединения в реальном времени между сервером и множеством клиентов. Соединения будут постоянными.

4b9b3361

Ответ 1

Является ли SignalR подходящим для настольных приложений Windows (winforms/wpf)?

Ответ signalr.net:

SignalR можно использовать для добавления каких-либо веб-функций реального времени в ваше приложение ASP.NET.

(Как правильно сказано другими, это может быть самообслуживание, поэтому нет необходимости в IIS)

Таким образом, ответ кажется нет. Это API-интерфейс на стороне сервера. Но сегодня ваш счастливый день, так как загрузка SignalR не только раскрывает API-интерфейс на стороне сервера, но и клиентский API под названием Microsoft.AspNet.SignalR.Client45 для использования в вашем приложении. Он работает для WPF, WF или даже консольных приложений.

И даже если это не так, SignalR - это всего лишь оболочка Протокол WebSockets, который является частью протокола HTTP, который может можно использовать практически на любой платформе. Загрузка также содержит образец для iOS и Xamarin, например.

Каковы преимущества и недостатки использования SignalR при использовании настольных приложений Windows?

Для получения уведомлений в реальном времени с сервера и на сервере.

Есть ли проблемы с производительностью?

Это трудный вопрос для ответа, поскольку нет ориентира. По сравнению с тем, что производительность хорошая или плохая? Вообще говоря, я не думаю, что вам нужно много беспокоиться об этом. Сам API быстро, и это может помешать медленным запросам на тяну, которые вам нужно сделать иначе.

Ответ 2

Абсолютно правильно использовать хаб SinglarR в любом клиентском приложении, WPF, Windows Phone, UWP, iOS, Android, включая HTML. Microsoft создала клиентские библиотеки на многих платформах.

Когда дело доходит до хостинга SignalR, вы можете определенно разместить свой сервер SingalR (концентратор) в приложении WPF, но вам нужна причина:

Причина может быть в следующем:

  • IIS недоступен
  • Вы не знаете заранее, где будет приложение использоваться. Вам просто нужно запустить приложение, которое будет уведомлять другие приложения
  • Производительность - IIS увеличивает производительность.

Кстати, SignalR и OWIN были источником вдохновения для нового ASP.NET 5. Теперь вы можете размещать свои приложения ASP.NET в WPF, консольном приложении или приложении службы Windows без IIS или даже в Linux.

http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host

Ответ 3

В настройках с сервером и многими клиентами: если вам нужны "push" уведомления с сервера на некоторые клиенты, тогда SignalR хорош для использования.

Я делаю это с клиентом WPF.

Ответ 4

Когда вы создаете веб-сайт с функциональностью сигнализатора, у вас есть сервер signalR, на котором размещен сайт, и клиент сигнализатора, клиент javascript, который запускается в веб-браузере, который просматривает сайт.

С незапамятных лет веб-браузеры были (и остаются)... ну... настольные приложения...

Таким образом, у вас есть настольные приложения (веб-браузер), которые используют SignalR для подключения к веб-сайту (веб-серверу).

Таким образом, не только правильно использовать signalR для настольных приложений, но и для этого оно предназначено. Я действительно не знаю, что было бы использовать signalR, если бы его не нужно было использовать в настольном приложении в какой-то момент, потому что, честно говоря, пользователь сидит перед рабочим столом (или умным устройством) и делает не существует "в облаке" (если только вы не Neo из Matrix). С помощью signalR у вас есть реакция в режиме реального времени с сервера, представленного в вашей настольной среде (веб-браузер или другое настольное приложение, например, приложение, которое управляет освещением в вашем доме или печатает что-то на вашем принтере).