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