.net - 对 Microsoft WebSockets 命名空间感到困惑

标签 .net wcf html websocket

到目前为止,在教程、博客和官方文档中,我已经看到:

  • Microsoft.Web.WebSockets
    • 从NuGet获取
    • 程序集是 Microsoft.WebSockets,但命名空间是 Microsoft.Web.WebSockets
    • 最后更新于 2011 年 9 月 14 日
    • 包含 WebSocketHandler、WebSocketCollections、WebSocketExtensions
  • System.Web.WebSockets
    • .NET 4.5 的一部分,可在 Visual Studio 11 开发者预览版中使用
    • 包含 AspNetWebSocket、AspNetWebSocketContext、AspNetWebSocketOptions 类
    • Documentation on MSDN
  • System.Net.WebSockets
    • 感谢 Ladislav Mrnka 指出这一点
    • .NET 4.5 的一部分,可在 Visual Studio 11 开发者预览版中使用
    • 包含 WebSocket、HttpListenerWebSocketContext 等
    • Documentation on MSDN
  • System.ServiceModel.WebSockets
    • 我一定是以为我在某个地方见过这个,现在找不到了
  • Microsoft.ServiceModel.WebSockets
    • 来自html5labs.interoperabilitybridges.com/... .
    • 安装到 [Program Files]\Microsoft SDKs\WCF WebSockets\11.06.22\bin
    • 包含 WebSocketHost、WebSocketService、WebSocketsService 类,以及接口(interface)和集合
    • 最后更新于 2011 年 6 月 22 日

这些有什么不同吗?有一些旧版本吗?

我一直假设“Microsoft.Web”命名空间用于预发布代码,但即使 Build 大会上的演示也使用这个命名空间,尽管 .NET 4.5 包含 System.Web.WebSockets 命名空间内置。

System.Web.WebSockets 似乎具有与 Microsoft.Web.WebSockets 相同的 API,但具有以 AspNet 为前缀的类和方法。

System.ServiceModel.WebSockets 是 WCF 命名空间的一部分,它似乎也是放置这些东西的明智位置。

帮助 - 我很困惑。我应该使用什么?

最佳答案

我会为您的困惑添加更多内容。 Microsoft.* 前缀程序集/命名空间通常要么非常特定于某种语言,要么不是 .NET 框架的一部分(带外(或原型(prototype)))。

.NET Framework 附带的程序集/命名空间通常以 System.* 开头。 .NET 4.5 中有两个命名空间包含与 WebSockets 相关的功能:

  • System.Net.WebSockets - WebSockets 的实现
  • System.Web.WebSockets - WebSockets 与 ASP.NET 的集成

我没有看到 System.ServiceModel.WebSockets 但我认为有一些名为 Microsoft.ServiceModel.WebSockets 的原型(prototype)

关于.net - 对 Microsoft WebSockets 命名空间感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7875889/

相关文章:

javascript - 获取 HTML 属性中 CSS 声明的值

.net - In-Proc SxS 打开托管代码中的 shell 扩展?

c# - 如何将具有共同成员的两个类合并为一个输入?

visual-studio - 如何在Visual Studio 2005中添加WCF服务引用?

.net - 为什么我的客户端证书没有包含在 TLS 握手中?

html - Flash 和 Rails 以及 HTML

c# - 在C#中保存图像文件

c# - 连接泄漏可能会导致超时过期。从池中获取连接之前超时时间已过?

c# - wcf 自托管多个服务

html - css - 根据屏幕大小对按钮进行不同的分组