从c#web api连接到signalR hub

时间:2016-01-22 21:16:35

标签: c# azure signalr azure-signalr

我的任务是尝试将我们的signalR集线器转移到带有服务总线背板的azure云服务。没有问题。 javascript客户端能够获得hubs.js并且连接没有错误。我们还有一个web api项目需要向集线器发送消息,但我无法连接它。我尝试的所有东西都不起作用,连接超时。我必须遗漏一些东西但是,因为这是我第一次使用signalR和Azure,我不知道它是什么。 Web api托管在IIS上。

以下是我尝试连接的代码:

    private async void InitializeHub()
    {
        string connectionString = "http://xxxx-xxxxx.cloudapp.net/signalr";
        var hubConnection = new HubConnection(connectionString, useDefaultUrl: false);
        //var hubConnection = new HubConnection(connectionString);
        HubProxy = hubConnection.CreateHubProxy("clientPortalHub");
        await hubConnection.Start();
    }

我缺少一些配置吗?在IIS中需要做什么?我没有收到任何有用的错误消息,只是连接超时。我可以在浏览器中点击网址(真正的网址,而不是我粘贴的网址)并获取"未知传输"。

如果它有帮助,那么从集线器启动:

public void Configuration(IAppBuilder app)
    {
        // Any connection or hub wire up and configuration should go here
        string connectionString = "<omitted>";
        GlobalHost.DependencyResolver.UseServiceBus(connectionString, "clientPortalHub");
        app.Map("/signalr", map =>
        {

            map. UseCors(CorsOptions.AllowAll);
            var hubConfiguration = new HubConfiguration
            {
                // You can enable JSONP by uncommenting line below.
                // JSONP requests are insecure but some older browsers (and some
                // versions of IE) require JSONP to work cross domain
                // EnableJSONP = true
            };

            hubConfiguration.EnableDetailedErrors = true;
            map.RunSignalR(hubConfiguration);
        });
    }

0 个答案:

没有答案