新发布的ASP.NET WebHooks和 Signal-R 有什么区别?有什么优点或缺点?每种技术的用例是什么?
2 回答
SignalR 用于在 ASP.NET 应用程序中使用WebSockets进行通知。您可以通过 WebSockets 交换事件通知,但它需要持续的网络连接。
WebHooks用于跨其他 Web 应用程序和其他外部服务的事件通知。(想想 B2B 通信)。例如,当有人向您的 PayPal 账户汇款时,您会收到一个 WebHook。PayPal 向您的预定义 URL 处理程序发出 POST 请求,然后您的应用程序对该通知执行某些操作。您首先在 PayPal 端预先配置所有内容。您还设置了一个应用程序来处理传入的 POST 请求。事件通知以(近乎)实时的方式“推送”给您。等待事件时无需保持打开网络连接。
两者可以互补。例如,当您从 PayPal 收到 WebHook 时,您可以通知您的 web 应用程序上的登录用户(使用 SignalR/WebSockets)已成功收到钱。
TLDR:跨不同 Web 应用程序的事件通知
这实际上取决于您想要集成的服务以及如何集成。WebHooks 是一种用于跨不同 SaaS 服务集成事件通知的简单模式。如果您要集成的服务支持 WebHooks,那么您可以使用它。如果它支持 SignalR,那么您可以使用它。从这个意义上说,两者是互补的。
在http://blogs.msdn.com/b/webdev/archive/2015/09/04/introducing-microsoft-asp-net-webhooks-preview.aspx查看Henrik F Nielsen的帖子