【问题标题】:IIS 8.0 Express and WebSocket on Windows 8 not workingWindows 8 上的 IIS 8.0 Express 和 WebSocket 无法正常工作
【发布时间】: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


    【解决方案1】:

    【讨论】:

    • 是的,我已经安装了那个扩展。正如我之前提到的,当我切换到本地 IIS 时,一切正常。只有当我尝试使用 IIS express 运行应用程序时才会出现问题。
    • 对不起,我一开始没听懂你回答得很好。我以为你写了关于已安装的 IIS 模块的文章(看起来很相似)。那么,我在哪里可以找到该配置?
    • 按照我提供的链接中指示的步骤操作。
    • 您提供的链接不能解决我的问题。他们不使用 IIS Express(在其中一个步骤中,他们取消了项目选项中的“使用 IIS Express”选项)
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2016-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多