Silverlight 5 WinRT

  public class HttpListenerWebSocketContext
  : WebSocketContext
  public virtual CookieCollection CookieCollection { get; }
  public virtual NameValueCollection Headers { get; }
  public virtual Boolean IsAuthenticated { get; }
  public virtual Boolean IsLocal { get; }
  public virtual Boolean IsSecureConnection { get; }
  public virtual Uri RequestUri { get; }
  public virtual String SecWebSocketKey { get; }
  public virtual String SecWebSocketOrigin { get; }
  public virtual IEnumerable`1<String> SecWebSocketProtocols { get; }
  public virtual String SecWebSocketVersion { get; }
  public virtual IPrincipal User { get; }
  public virtual WebSocket WebSocket { get; }

  public abstract class WebSocket
  : IDisposable
  public abstract virtual Nullable`1<WebSocketCloseStatus> CloseStatus { get; }
  public abstract virtual String CloseStatusDescription { get; }
  public abstract virtual WebSocketState State { get; }
  public abstract virtual String SubProtocol { get; }
  public abstract virtual void Abort();
  public abstract virtual Task CloseAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken);
  public abstract virtual Task CloseOutputAsync(WebSocketCloseStatus closeStatus, String statusDescription, CancellationToken cancellationToken);
  static public WebSocket CreateClientWebSocket(Stream innerStream, String subProtocol, Int32 receiveBufferSize, Int32 sendBufferSize, TimeSpan pingFrequency, Boolean useZeroMaskingKey, Byte internalBuffer);
  public abstract virtual void Dispose();
  static protected Boolean IsStateTerminal(WebSocketState state);
  public abstract virtual Task`1<WebSocketReceiveResult> ReceiveAsync(ArraySegment`1<Byte> buffer, CancellationToken cancellationToken);
  static public void RegisterPrefixes();
  public abstract virtual Task SendAsync(ArraySegment`1<Byte> buffer, WebSocketMessageType messageType, Boolean endOfMessage, CancellationToken cancellationToken);
  static protected void ThrowOnInvalidState(WebSocketState state, WebSocketState validStates);

  public sealed enum WebSocketCloseStatus
  : IComparable, IFormattable, IConvertible
  { Unspecified, NormalClosure, EndpointUnavailable, ProtocolError, InvalidMessageType, MessageTooLarge }

  public abstract class WebSocketContext
 
  public abstract virtual CookieCollection CookieCollection { get; }
  public abstract virtual NameValueCollection Headers { get; }
  public abstract virtual Boolean IsAuthenticated { get; }
  public abstract virtual Boolean IsLocal { get; }
  public abstract virtual Boolean IsSecureConnection { get; }
  public abstract virtual Uri RequestUri { get; }
  public abstract virtual String SecWebSocketKey { get; }
  public abstract virtual String SecWebSocketOrigin { get; }
  public abstract virtual IEnumerable`1<String> SecWebSocketProtocols { get; }
  public abstract virtual String SecWebSocketVersion { get; }
  public abstract virtual IPrincipal User { get; }
  public abstract virtual WebSocket WebSocket { get; }

  public sealed enum WebSocketError
  : IComparable, IFormattable, IConvertible
  { Success, InvalidMessageType, Faulted, NativeError, NotAWebSocket, UnsupportedVersion, UnsupportedProtocol, HeaderError, ConnectionClosedPrematurely }

  public sealed class WebSocketException
  : Win32Exception, ISerializable, _Exception
  public virtual Int32 ErrorCode { get; }
  public WebSocketError WebSocketErrorCode { get; }
  public virtual void GetObjectData(SerializationInfo info, StreamingContext context);

  public sealed enum WebSocketMessageType
  : IComparable, IFormattable, IConvertible
  { Text, Binary, Close }

  public class WebSocketReceiveResult
 
  public Nullable`1<WebSocketCloseStatus> CloseStatus { get; set; }
  public String CloseStatusDescription { get; set; }
  public Int32 Count { get; set; }
  public Boolean EndOfMessage { get; set; }
  public WebSocketMessageType MessageType { get; set; }

  public sealed enum WebSocketState
  : IComparable, IFormattable, IConvertible
  { None, Open, CloseSent, CloseReceived, Closed, Aborted }