我有这个调用来连接我的javascript客户端中的signalr:
$.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)。
答案 0 :(得分:3)
您可以尝试在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>