使用signalR在两个不同的应用程序之间进行通信

时间:2015-04-22 00:58:03

标签: signalr

我有两个使用signalR的web应用程序。两个应用程序都在Hub上来管理客户端请求。

站点名称:xyz:81(在iis的端口81上托管) signalR HubName:MyDashboardHub

站点名称:abc:8100(在iis的8100端口上托管)
signalR Hub名称:MyWorkflowHub

两个应用程序都使用窗口验证。 我试过跟随代码从应用程序abc:8100调用xyz:81 hub的函数,但是获得'Unauthorized'异常

xyz应用程序代码

public class MyDashboardHub : Hub
{
    public void ReloadWIP(string memberCode)
    {
        Clients.OthersInGroup(memberCode).reloadWIP();
    }
}

来自default.aspx.cs的abc应用程序代码

var hubConn = new Microsoft.AspNet.SignalR.Client.HubConnection("http://localhost:81/signalr/", false);

            var name = "MyDashboardHub";
            var hubProxy = hubConn.CreateHubProxy(name);
            hubConn.Start().Wait();
            hubProxy.Invoke("ReloadWIP", "7048");

异常

StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
 Cache-Control: private
 Server: Microsoft-IIS/7.5
 WWW-Authenticate: Negotiate
 WWW-Authenticate: NTLM
 X-Powered-By: ASP.NET
 Date: Wed, 22 Apr 2015 00:17:35 GMT
 Content-Length: 6449
 Content-Type: text/html; charset=utf-8
}

我是signalR的新手。我仍然不知道我可以使用signalR在两个不同的应用程序之间进行交谈吗?如果我可以比代码或配置中的错误?

1 个答案:

答案 0 :(得分:1)

我找到了解决方法。需要添加凭据。

connection.Credentials = CredentialCache.DefaultCredentials;