【问题标题】:SignalR 2.2.0 and SignalRjs 2.2.0 fail when stating connection: Client version 1.5, server version 1.2SignalR 2.2.0 和 SignalRjs 2.2.0 在声明连接时失败:客户端版本 1.5,服务器版本 1.2
【发布时间】:2016-03-29 18:20:59
【问题描述】:

我有这个调用来连接我的 javascript 客户端中的信号器:

 $.connection.hub.start().done(function () {
    console.log("Now connected, connection ID=" + $.connection.hub.id);
    connectionId = $.connection.hub.id;
}).fail(function (error) {
    console.log('Invocation of start failed. Error: ' + error);
});

它正常工作了很长时间,但现在我收到此错误消息:

启动调用失败。错误:错误:您使用的客户端版本与服务器不兼容。客户端版本 1.5,服务器版本 1.2。

我同时使用 SignalR 2.2.0 和 SignalR.JS 2.2.0

更新: 添加此标记后发生错误,我们需要 azure:

<rewrite>
      <rules>
          <rule name="StaticContent">
              <action type="Rewrite" url="{REQUEST_URI}"/>
          </rule>
      </rules>
  </rewrite>

使用此标签返回的协议版本是 1.2,但是当它被删除时,版本是正确的 (1.5)。

【问题讨论】:

  • 这是你的完整重写块吗?

标签: javascript .net signalr


【解决方案1】:

您可以尝试在web.config 中为该重写规则添加一个例外:

<rewrite>
    <rules>
        <rule name="StaticContent">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_URI}" matchType="Pattern" pattern="signalr/(.*)" negate="true" />
            </conditions>
            <action type="Rewrite" url="{REQUEST_URI}"/>
        </rule>   
    </rules>
</rewrite>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多