为什么 HttpContext.AcceptWebSocketRequest 函数在获取实例时会出错
本文关键字:实例 出错 获取 HttpContext AcceptWebSocketRequest 函数 为什么 | 更新日期: 2023-09-27 17:57:16
根据互联网上的一些示例和本指南,我创建了一个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:无法从"套接字处理程序"转换为 'System.Func(System.Web.WebSockets.AspNetWebSocketContext,System.Threading.Tasks.Task)'
谁能帮我?
AcceptWebSocketRequest
将方法作为参数,而不是类实例。您的代码应如下所示:
public void ProcessRequest(HttpContext context) {
if (context.IsWebSocketRequest) {
context.AcceptWebSocketRequest(HandleWebSocket);
}
}
private Task HandleWebSocket(WebSocketContext wsContext)
{
// Do something useful
}
您在尝试使用 Microsoft.Web.WebSockets 中的函数时引用了 System.Web 中的函数。
添加适当的引用,它将起作用。