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