SignalR用于ASP.NET应用程序内使用WebSockets的通知.您可以通过WebSocket交换事件通知,但是这需要持续的网络连接.
WebHooks用于跨其他web应用程序和其他外部服务的事件通知.(想想B2B通信).例如,当有人向你的PayPal账户汇款时,你可以收到一个WebHook.PayPal向您预定义的URL处理程序发出POST请求,然后您的应用程序会对该通知进行处理.你先在PayPal端预先配置好所有东西.您还设置了一个应用程序来处理传入的POST请求.事件通知以(接近)实时的方式"推送"给您.等待事件时无需保持打开的网络连接.
两者可以互补.例如,当您从PayPal收到WebHook时,您可以在您的webapp(使用SignalR/WebSockets)上通知登录用户已成功收到款项.
TLDR:跨不同web应用程序的事件通知