我在IIS Express上设置了一个SignalR集线器,以及一个带有标准聊天示例应用程序的示例网站。它在浏览器中运行良好,我可以看到同时在不同浏览器上显示的消息。不幸的是,我遇到了类似在WPF中工作的障碍。
我已经将聊天示例设置为基础。最终,我将需要服务器将更新推送到所有连接的WPF客户端。有人能告诉我哪里出错了吗?
集线器:
public class Chat : Hub
{
public void Send(string message)
{
Clients.All.send(message);
}
}
WPF样本类:
public class ChatSample
{
public ChatSample()
{
var hubConnection = new HubConnection("http://localhost:21638/");
var proxy = hubConnection.CreateHubProxy("Chat");
proxy.On<string>("send", Console.WriteLine);
hubConnection.Start().Wait();
}
}
当前实施在以下情况下提供以下例外:
hubConnection.Start().Wait();
{"The remote server returned an error: (401) Unauthorized."}
答案 0 :(得分:7)
当我输入问题时,我找到了解决方案。以为我会把它留在这里,以防它帮助其他人。我只需要在HubConnection
上提供凭据:
hubConnection.Credentials = CredentialCache.DefaultNetworkCredentials;