当Machine Key添加到web.config时,SignalR失败

时间:2014-12-29 02:16:01

标签: asp.net signalr

在我的项目中向web.config添加机器密钥时,我在创建集线器时始终会将以下错误记录到控制台

SignalR连接失败:错误:您使用的是与服务器不兼容的客户端版本。客户端版本1.4,服务器版本未定义。

删除机器密钥,工作正常

js代码如下(在没有机器密钥的情况下正常工作)

   $(function () {
        $.connection.hub.logging = true;
        var userHub = $.connection.userTracingHub;

        userHub.client.CompletedProcessing = function (model) {
            if (model) {
                alert("Order was successful");
            } else {
                alert("Order was unsuccessful");
            }
        };

        $.connection.hub.start().done(function () {
            $.connection.userTracingHub.server.hello();
            alert("connection set up");
        }).fail(function (reason) {
            console.log("SignalR connection failed: " + reason);
        });
    });    

机器键设置如下:

<machineKey decryption="Auto" decryptionKey="xxxx,IsolateApps" validation="3DES" validationKey="xxxx,IsolateApps" />    

xxxx是我投入的钥匙。

我认为这可能是由于横向扩展模式未配置但我也尝试将其设置为使用redis服务器来设置横向扩展模式并仍然具有相同的错误

先谢谢, 乔尔

1 个答案:

答案 0 :(得分:0)

我遇到了同样的错误,然后删除了IsolateApps选项解决了问题。如果您使用IIS管理器生成计算机密钥,请取消选中&#34;为每个应用程序生成唯一密钥&#34;复选框或只删除&#34;,IsolateApps&#34;部分来自web.config。

希望这有帮助!