使用CORS实现SignalR2



我有一个应用程序在端口64999上运行,它正在对运行在不同端口65420 上的另一个应用程序进行信号调用

在启动具有端口65420的应用程序时,我有代码:

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

从应用程序64999,我正试图连接到另一个应用程序,如:

    var connection =$.hubConnection('http://localhost:65420/signalR/hubs');
    var chatHubProxy = connection.createHubProxy('chatHub');
    chatHubProxy.on('getDetails', function (message) {
        $("#Message").html(message);
    });
    connection.start().done(function () {
        chatHubProxy.invoke('sendMessage', "Hello");
    });

我不知道如何调用它。

我真的在互联网上搜索了一下,在中找到了答案https://cmatskas.com/signalr-cross-domain-with-cors/.

我现在所做的是更改应用程序64999 中集线器的位置

  <script src="http://localhost:65420/signalr/hubs"></script>

我的javascript代码如下:

    $.connection.hub.url = 'http://localhost:65420/signalr';
    var chat= $.connection.chatHub;
    chat.client.getDetails = function (car, speed, overSpeed) {
        $("#Message").html(message);
    };
    $.connection.hub.start().done(function () {
        chat.server.sendMessage("Hello World");
    });

最新更新