【问题标题】:Signalr client side functions not being called when hosted in IIS在 IIS 中托管时未调用 Signalr 客户端功能
【发布时间】:2016-01-22 21:58:31
【问题描述】:

我有一个 Signal r 应用程序,它在本地的 Visual Studio 中运行,但是当我在本地机器上发布到 IIS 7 时,它运行良好。但是我的信号客户端回调函数,没有收到来自服务器上集线器类的任何调用。

不知道这可能是什么原因?

【问题讨论】:

    标签: .net iis-7 websocket signalr


    【解决方案1】:

    您需要在机器中安装 Web Sockets。

    要在 Windows Server 2012 上启用对 WebSocket 协议的支持,请使用以下步骤:

    1. 打开服务器管理器
    2. 管理菜单下,点击添加角色和功能
    3. 选择基于角色或基于功能的安装,然后点击下一步
    4. 选择合适的服务器,(默认选择你的本地服务器),然后点击下一步
    5. Roles树中展开Web Server (IIS),然后展开Web Server,再展开Application Development强>。
    6. 选择WebSocket 协议,然后点击下一步
    7. 如果不需要其他功能,请单击下一步
    8. 点击安装
    9. 安装完成后,点击关闭退出向导。

    安装完成后,点击关闭退出向导。

    http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-websocket-protocol-support

    Windows 8:

    1. 单击 Windows 按钮
    2. 类型:打开或关闭 Windows 功能
    3. 导航至:Internet 信息服务 > 万维网服务 > 应用程序开发功能
    4. 选择“Websocket 协议”+确定

    【讨论】:

    • 因为我使用的是windows 8,所以我必须打开IIS WebSocket 协议功能。然而这并没有奏效。 codeguru.com/csharp/csharp/…
    • 尝试用iis注册asp.net ..stackoverflow.com/a/647609/2074346
    • Signalr 如果不可用,应该回退到非 websockets 传输,我相信。 IE。来自Introduction to SignalR:“SignalR 在可用的情况下使用新的 WebSocket 传输,并在必要时回退到旧的传输”
    • 我正在运行.net4.5,并且这个是开启的,IIS in windows Features
    • 我已经包含了这行代码,但仍然没有运气。 connection.start({ transport: ['webSockets'] })
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    相关资源
    最近更新 更多