【问题标题】:SignalR not working with DelegatingHandlerSignalR 不与 DelegatingHandler 一起使用
【发布时间】:2015-03-06 08:05:50
【问题描述】:

我们有一个委托处理程序,它捕获具有特定 url 前缀的请求,然后将它们重新路由到防火墙后面,并附加了 fed auth cookie...

这适用于我们的 WebApi 层,但是 SingalR 在尝试连接时会自行触发不符合模式的请求...我不知道如何强制它使用正确的网址前缀。

这是在尝试进行长轮询时从 post 请求生成的 url:https://localhost:44330/signalr/connect?transport=longPolling&

看到它没有将“/qsixlsignalr”放入我的委托处理程序将要查找的 url。

var signalRBaseURL = "/qsixlsignalr"

$(function () {

        // http://stackoverflow.com/questions/15467373/signalr-1-0-1-cross-domain-request-cors-with-chrome
        $.support.cors = false;         

        var connection = $.hubConnection(signalRBaseURL);
        var myHub = connection.createHubProxy('xlHub');

        myHub.on('notify', function (message) {

            alertsViewModel.refreshActiveCount(localStorage.getItem(PROJECT_ID));

            if (window.location.pathname == '/' || window.location.pathname == '') {
                alertsViewModel.refresh(localStorage.getItem(PROJECT_ID));
            }

            toastr.success(message);

        });         

        connection.disconnected(function () {
            setTimeout(function () {
                connection.start();
            }, 3000); 
        });

        connection.logging = true;
        connection.start();         

    }); 

【问题讨论】:

    标签: asp.net-web-api signalr signalr-hub signalr.client


    【解决方案1】:

    如果我没记错的话,您需要明确告诉 SignalR 您不想使用默认网址

      var connection = $.hubConnection(signalRBaseURL, { useDefaultPath: false });
    

    【讨论】:

      猜你喜欢
      • 2017-08-01
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多