我已经实现了一个继承自 IHttpHandler 的类,并且基本上根据请求调用以下内容。
public void ProcessRequest(HttpContext context)
{
if (context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessSocket);
}
else
{
throw new HttpException("This isn't a WebSocket request!");
}
}
ProcessSocket
是一个异步操作,它接受请求的 HttpContext 作为参数。然后该方法继续异步解析请求,处理数据,并最终将响应发送回客户端。
是否可以利用MVC控制器动作参数中常用的模型绑定器来处理websocket消息并构造模型?
我目前正在访问请求数据,如下所示:
ArraySegment<byte> _Buffer = new ArraySegment<byte>(new byte[1024]);
WebSocketReceiveResult _Result =
await _Socket.ReceiveAsync(_Buffer, CancellationToken.None);