【发布时间】:2011-12-14 02:57:22
【问题描述】:
到目前为止,在教程、博客和官方文档中,我已经看到:
-
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 类,以及接口和集合
- 最后更新时间:2011 年 6 月 22 日
这些有什么不同吗?有一些旧版本吗?
我一直认为“Microsoft.Web”命名空间用于预发布代码,但即使是 Build 大会上的演示也使用此命名空间,尽管 .NET 4.5 包含 System.Web.WebSockets 命名空间内置。
System.Web.WebSockets 似乎具有与 Microsoft.Web.WebSockets 相同的 API,但其类和方法以 AspNet 为前缀。
System.ServiceModel.WebSockets 是 WCF 命名空间的一部分,这似乎也是放置这些东西的明智之选。
帮助 - 我很困惑。我应该使用什么?
【问题讨论】:
-
Paul Batum 的博客paulbatum.com 介绍了其中一些命名空间,这看起来是迄今为止最好的信息来源。
-
其中大部分现在与 ASP.NET Web Api (Microsoft.AspNet.WebApi) 无关——它可以像 WCF 一样自托管。它利用 Microsoft.Net.Http