Javascript SignalR 2.2.0和SignalRjs 2.2.0在声明连接时失败:客户端版本1.5,服务器版本1.2
我在javascript客户端中调用了以下连接信号器的命令:Javascript SignalR 2.2.0和SignalRjs 2.2.0在声明连接时失败:客户端版本1.5,服务器版本1.2,javascript,.net,signalr,Javascript,.net,Signalr,我在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 star
$.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)。您可以尝试在
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>
这是您的完整重写块吗?