【发布时间】:2020-02-20 22:24:56
【问题描述】:
我已经通过 Visual Studio 运行了我的常规基于 http 的应用程序,并且无数次地调试它而没有出现问题。今天我的任务是添加我所做的 websocket 支持。 我的处理程序现在看起来像这样:
public class ChatHandler : IHttpHandler
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
if (context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessRequestInternal);
}
else
{
context.Response.StatusCode = 400;
}
}
我的 webconfig 有一个 catch all 处理程序,它指向这里并且适用于常规 http 请求。 但是,如果我尝试使用 websocket.org 或我的客户端向它发出 ws 请求(我避免使用 wss,因为我的本地计算机上没有设置 https),请求就会超时并且永远无法到达上述代码(如果我使用常规的 http 请求)。
我搜索了 applicationhost.config 中的设置,发现有人在需要为 websockets 添加时列出了很多东西,但这些天默认的 applicationhost.config 似乎包含所有这些东西。
有谁知道我需要做什么才能让 IIS Express 接受 websocket 请求?
所有的 web 文档都适用于当您有一台实际运行 IIS 并使用服务器管理来添加 websocket 支持的机器时,但是我没有任何这些,因为我只是在 Visual Studio 中运行它。
谢谢!
【问题讨论】:
标签: websocket