从另一台计算机发出时,跨域 SignalR 不起作用

Cross domain SignalR does not work when issued form another computer

我在不同的域中有两个 MVC 应用程序,一个 (csm.mywebsite.com) 使用 signalR 调用客户端函数,另一个 (ess.mywebsite.com)。当我在同一台开发机器上使用两个浏览器对其进行测试时,它工作正常。但是当我尝试从另一台机器调用一台机器中的函数时,它失败了,什么也没有发生。两台开发机器在 TFS 上都有这些应用程序。

服务器端配置代码在csm.mywebsite.com:

public class NotificationHub : Hub
{
}

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.Map("/signalr", map =>
        {
            map.UseCors(CorsOptions.AllowAll);
            var hubConfiguration = new HubConfiguration
            {
            };
            map.RunSignalR(hubConfiguration);
        });

    }
}

我使用以下代码从服务器调用客户端函数:

GlobalHost.ConnectionManager.GetHubContext<NotificationHub> 
().Clients.User(userID.ToString()).SendMessage(message, "CSM");

和另一个域的客户端 (ess.mywebsite.com)

$(document).ready(function () 

    $.getScript('http://csm.mywebsite.com/Scripts/jquery.signalR-2.4.1.min.js', function () {
        $.getScript('http://csm.mywebsite.com/signalr/hubs', function () {

            $.connection.hub.url = 'http://csm.mywebsite.com/signalr';
            var notificationHub = $.connection.notificationHub;
            console.log(notificationHub);

            $.connection.hub.start();

            notificationHub.client.sendMessage = function (content, system) {

               alert(content);
            };
        });
    });

});

不好意思,我忽略了一个事实,即每台开发机器都有本地存储的项目源。那么没有订阅其他机器的客户端是正常的。因此,不能从其他机器调用客户端函数。我将最新的更新部署到服务器,一切正常。