This is my belief in why naming Microsoft.Web.WebSockets :
"This preview package provides functionality for writing WebSocket-enabled server applications on Windows 8 using ASP.NET and WCF. Requires .NET 4.5 RC and Windows 8 RC."
Perhaps this is a Microsoft library. * named, because it was developed against Windows 8 RC. Which is not a reliable dependency, so it cannot be part of the official .net framework.
Of course, as soon as Windows 8 comes out, they can depend on it and start releasing websockets libraries as part of the official structure. Thus, Microsoft.Web.WebSockets can be effectively deprecated without leaving the status of preliminary publication.
What about System.Web.WebSockets vs System.Net.WebSockets ?
System.Web.WebSockets: "classes that support the addition of WebSocket functions for ASP.NET Web Forms applications."
Hm ... It seems simple. These classes are intended for use in ASP.NET web forms. Is Windows 8 required? Not sure.
System.Net.WebSockets: this is something else that is not related to web forms. But it only works if you have Windows 8.
Microsoft.ServiceModel.WebSockets
Another old prepayment package. It works on Windows 7!
Note: instead of worrying about what works on the platform + framework to use to get WebSockets, you can simply use SignalR instead, which will select the transport and try to do something like websites for you.
Tim Lovell-Smith May 28 '14 at 9:58 p.m. 2014-05-28 21:58
source share