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

推荐答案

SignalR用于ASP.NET应用程序内使用WebSockets的通知.您可以通过WebSocket交换事件通知,但是这需要持续的网络连接.

WebHooks用于跨其他web应用程序和其他外部服务的事件通知.(想想B2B通信).例如,当有人向你的PayPal账户汇款时,你可以收到一个WebHook.PayPal向您预定义的URL处理程序发出POST请求,然后您的应用程序会对该通知进行处理.你先在PayPal端预先配置好所有东西.您还设置了一个应用程序来处理传入的POST请求.事件通知以(接近)实时的方式"推送"给您.等待事件时无需保持打开的网络连接.

两者可以互补.例如,当您从PayPal收到WebHook时,您可以在您的webapp(使用SignalR/WebSockets)上通知登录用户已成功收到款项.

TLDR:跨不同web应用程序的事件通知

Asp.net相关问答推荐

单个方法(即扩展方法)之间的调用不明确

创建项目 ASP.NET Core (.NET Core) 和 ASP.NET Core (.NET Framework) 有什么区别

我可以将图像添加到 ASP.NET 按钮吗?

如何为发布模式设置调试错误

是否可以使用 Membership API 更改用户名

无法访问,内部,资源文件?

ASP.NET Web 应用程序消息框

相当于服务器端的 ASP.NET 包括

为什么我不能在 ASP.net MVC 中使用服务器控件?

如何使用 ASP.Net MVC 路由来路由图像?

HttpContext.Current.Cache.Insert 和 HttpContext.Current.Cache.Add 有什么区别

为什么aspx文件会返回404(找不到页面)

如何在 ASP.Net Core Razor 页面上重定向

更改后未应用 CSS

在 ASP.NET 4.5 WebForms 中通过 bundle.config 与 BundleConfig.cs Bundle 资源

设置 Response.Status 生成HTTP 状态字符串无效异常

在 ASP.NET 中实现 404 的最佳方法

在c#中显示带有换行符的标签文本

为什么 C# 对于 CSC 文件会遇到此错误?

Page.IsPostBack 和 Page.IsCallBack 有什么区别?