asp.net - 我可以将 HTML5 WebSockets 用于通常使用 AJAX 完成的任务吗?

标签 asp.net html updatepanel websocket

我刚开始研究 HTML5 WebSockets .我想知道我是否可以使用 websockets 而不是使用 ASP.NET UpdatePanels 来更新网页的所有内容,或者这会不会太过分了?

WebSockets 可以用作 AJAX 的替代品吗?这就是 WebSocket 的用途吗?

大多数示例都是针对双向聊天的演示。但是,如果我想单击一个按钮而不是回发来更新网格,我可以使用 WebSockets 做到这一点吗?这是个好主意吗?

最佳答案

我认为 XHR 和 WebSocket 适用于两种不同的场景,您应该使用更适合您场景的一种。

XHR 有请求-响应对。每个请求都与响应配对。这对远程过程调用很有用,但如果您希望在没有请求的情况下进行响应(即服务器推送),则会产生不必要的开销。

WebSocket 解决了上面的问题。您可以发送请求而不期望任何响应。服务器还可以通过响应向您发送任何内容,而无需您先发起请求。

在按钮点击和内容更新场景(例如编辑表格单元格)中,XHR(和 UpdatePanel)效果更好。那是因为内容更新必须与按钮点击配对。这是一个请求-响应对。但在纯内容更新的场景下(比如显示实时股价),WebSocket 效果更好。在内容更新与按钮点击无关的情况下(例如聊天),WebSocket 也能更好地工作。

关于asp.net - 我可以将 HTML5 WebSockets 用于通常使用 AJAX 完成的任务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455432/

相关文章:

javascript - JQuery 对话框 - 仅在单击按钮时加载

jquery - 如何以百分比显示进度条 JQuery、HTML 和 CSS?

javascript - JS - 从 API 请求打印 JSON 信息

HTML - srcset 不能使用 w?不产生图像?

javascript - updatepanel 不活动后更新缓慢

c# - 异步调用 .NET 方法并在完成后绑定(bind)到网格

javascript - 检查弹出窗口是否关闭

Javascript显示div在回发后消失了

ASP.NET Core 1 模块化(插件)架构?

c# - updatepanel 中的 asp.net 链接按钮不触发