ASP.NET WebHooks和Signal-R的区别

新发布的ASP.NET WebHooks和Signal-R有什么区别 ? 有什么优点或缺点? 每种技术有哪些用例?

SignalR是在ASP.NET应用程序中使用WebSockets进行通知的。 您可以通过WebSockets交换事件通知,但它需要一个不断的networking连接。

WebHooks用于通过其他Web应用程序和其他外部服务的事件通知。 (思考B2B通信)。 例如,当有人向您的PayPal账户汇款时,您可以收到WebHook。 PayPal发出一个POST请求到你的预定义的URL处理程序,然后你的应用程序做一些通知。 您首先在PayPal方面预先configuration所有的东西。 您还设置了一个应用程序来处理传入的POST请求。 事件通知在(近)实时“推”给你。 在等待事件时不需要保持打开networking连接。

两者可以互补。 例如,当您从PayPal收到WebHook时,您可以通过Web应用程序(使用SignalR / WebSockets)通知已login的用户已成功接收到钱。

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的post