我有两个使用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在两个不同的应用程序之间进行交谈吗?如果我可以比代码或配置中的错误?
答案 0 :(得分:1)
我找到了解决方法。需要添加凭据。
connection.Credentials = CredentialCache.DefaultCredentials;