根据互联网上的一些示例和this guide我创建了一个webSocket连接。
public class sockets: IHttpHandler {
public bool IsReusable {
get {
throw new NotImplementedException();
}
}
public void ProcessRequest(HttpContext context) {
if (context.IsWebSocketRequest) {
context.AcceptWebSocketRequest(new socketHandler());
}
}
}
public class socketHandler: WebSocketHandler {
public socketHandler(): base(null) {}
}
行中有错误 -
context.AcceptWebSocketRequest(new socketHandler());
错误:
参数1:无法转换为' socketHandler'至 ' System.Func(System.Web.WebSockets.AspNetWebSocketContext,System.Threading.Tasks.Task)'
任何人都可以帮助我吗?
答案 0 :(得分:4)
AcceptWebSocketRequest
将方法作为参数,而不是类实例。你的代码应该是这样的:
public void ProcessRequest(HttpContext context) {
if (context.IsWebSocketRequest) {
context.AcceptWebSocketRequest(HandleWebSocket);
}
}
private Task HandleWebSocket(WebSocketContext wsContext)
{
// Do something useful
}
答案 1 :(得分:1)
在尝试使用Microsoft.Web.WebSockets中的函数时,您正在引用System.Web中的函数 添加适当的参考,它将起作用。