2015-09-16 3 views

ответ

43

SignalR для уведомления в приложении ASP.NET с помощью WebSockets. Вы можете обмениваться уведомлениями о событиях через WebSockets, однако для этого требуется постоянное сетевое подключение.

WebHooks предназначены для уведомления о событиях в других веб-приложениях и других внешних службах. (Думайте об обмене B2B). Например, вы можете получить WebHook, когда кто-то отправит вам деньги на вашу учетную запись PayPal. PayPal запускает запрос POST вашему предопределенному обработчику URL-адресов, а затем ваше приложение делает что-то с этим уведомлением. Сначала вы предварительно настроили все на стороне PayPal. Вы также настроили приложение для обработки входящего запроса POST. Уведомление о событии «толкается» вам в (ближнем) режиме в реальном времени. Не нужно открывать сетевое соединение во время ожидания событий.

Эти два варианта могут быть взаимодополняющими. Например, когда вы получаете WebHook от PayPal, вы можете уведомить зарегистрированного пользователя на своем веб-сайте (используя SignalR/WebSockets), что деньги были получены успешно.

TLDR: уведомление о событиях в различных веб-приложениях

+0

Что больше подходит для мобильных приложений? например, если у меня есть мобильное приложение с локальным sqlite и облачной базой данных. если я что-то изменил, я хочу обновить локальный sqlite. – batmaci

1

Это действительно зависит от службы, с которой вы хотите интегрироваться и как. WebHooks - это простой шаблон для интеграции уведомлений о событиях в разных службах SaaS. Если служба, которую вы хотите интегрировать с поддержкой WebHooks, вы можете использовать ее. Если он поддерживает SignalR, вы можете использовать это. В этом смысле они вполне дополняют друг друга.

Проверить Henrik F Nielsen пост в http://blogs.msdn.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx

+0

Но если мне нужно было что-то сегодня сделать для уведомления о событиях. Какой из них вы бы выбрали и почему? –

+4

Зависит, если вы хотите постоянно обновлять обновления (где вы будете использовать SignalR) или подписываться на события, которые могут произойти в будущих обновлениях (где вы будете использовать WebHooks). –