我们有一个委托处理程序,它使用某个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();
});
答案 0 :(得分:0)
如果我没记错,您需要明确告诉SignalR您不想使用默认网址
var connection = $.hubConnection(signalRBaseURL, { useDefaultPath: false });