【发布时间】:2014-09-02 11:11:06
【问题描述】:
我尝试使用 websockets 并将 Websocket 服务器实现为 IHttpHandler。我正在使用 Windows8、VisualStudio 2012 和 IIS 8 express。每次当我尝试使用 javascript 客户端连接到我的服务器时,我都会在 ProcessRequest 方法中得到 context.IsWebSocketRequest 等于 false 。当我切换到本地 IIS 服务器时,一切正常(context.IsWebSocketRequest 为 true)。我错过了什么?如何强制 IIS Express 使用 WebSockets?
我的 WebSocket 服务器实现:
public class WebSocketHandler: IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
if (context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessWebSocketRequest,new AspNetWebSocketOptions()
{
RequireSameOrigin = true
});
}
}
private async Task ProcessWebSocketRequest(AspNetWebSocketContext socketContext)
{
var ws = socketContext.WebSocket;
while (true)
{
//Do something...
}
}
public bool IsReusable { get { return false; } }
}
【问题讨论】:
标签: c# websocket iis-express