В чем разница между новым выпуском ASP.NET WebHooks и Signal-R? Каковы преимущества или недостатки? Каковы варианты использования каждой технологии?Разница между ASP.NET WebHooks и сигналом-R
ответ
SignalR для уведомления в приложении ASP.NET с помощью WebSockets. Вы можете обмениваться уведомлениями о событиях через WebSockets, однако для этого требуется постоянное сетевое подключение.
WebHooks предназначены для уведомления о событиях в других веб-приложениях и других внешних службах. (Думайте об обмене B2B). Например, вы можете получить WebHook, когда кто-то отправит вам деньги на вашу учетную запись PayPal. PayPal запускает запрос POST вашему предопределенному обработчику URL-адресов, а затем ваше приложение делает что-то с этим уведомлением. Сначала вы предварительно настроили все на стороне PayPal. Вы также настроили приложение для обработки входящего запроса POST. Уведомление о событии «толкается» вам в (ближнем) режиме в реальном времени. Не нужно открывать сетевое соединение во время ожидания событий.
Эти два варианта могут быть взаимодополняющими. Например, когда вы получаете WebHook от PayPal, вы можете уведомить зарегистрированного пользователя на своем веб-сайте (используя SignalR/WebSockets), что деньги были получены успешно.
TLDR: уведомление о событиях в различных веб-приложениях
Это действительно зависит от службы, с которой вы хотите интегрироваться и как. WebHooks - это простой шаблон для интеграции уведомлений о событиях в разных службах SaaS. Если служба, которую вы хотите интегрировать с поддержкой WebHooks, вы можете использовать ее. Если он поддерживает SignalR, вы можете использовать это. В этом смысле они вполне дополняют друг друга.
Проверить Henrik F Nielsen пост в http://blogs.msdn.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx
Но если мне нужно было что-то сегодня сделать для уведомления о событиях. Какой из них вы бы выбрали и почему? –
Зависит, если вы хотите постоянно обновлять обновления (где вы будете использовать SignalR) или подписываться на события, которые могут произойти в будущих обновлениях (где вы будете использовать WebHooks). –
Что больше подходит для мобильных приложений? например, если у меня есть мобильное приложение с локальным sqlite и облачной базой данных. если я что-то изменил, я хочу обновить локальный sqlite. – batmaci