SignalR无法与DelegatingHandler一起使用

时间:2015-03-05 20:45:18

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

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

这适用于我们的WebApi图层,但SingalR在尝试连接时自行触发请求但不遵循该模式...我无法弄清楚如何强制它使用正确的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();         

    }); 

1 个答案:

答案 0 :(得分:0)

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

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