我一直在尝试让我的 WPF 客户端应用程序接收 WCF 服务发送的 SignalR 消息。我已经尝试了很多东西,现在已经求助于破解,希望某些东西能奏效。我已经在线学习了教程和示例,但我根本无法调用我的 WPF OnSignalRMessage() 方法。我在哪里错了?
我的枢纽:
public class PrestoHub : Hub
{
public void Send(string message)
{
Clients.All.OnSignalRMessage(message);
}
}
我的创业班:
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration { EnableCrossDomain = true };
app.MapHubs("http://localhost:8084", config);
}
}
启动我的 SignalR 主机(在我的 WCF 服务主机内)的方法:
private void StartSignalRHost()
{
const string url = "http://localhost:8084";
WebApplication.Start<Startup>(url);
}
实际发送一些消息的代码:
GlobalHost.ConnectionManager.GetHubContext<PrestoHub>().Clients.All.OnSignalRMessage("snuh");
Console.WriteLine("Sent 'snuh' to all clients...");
我的 WPF 客户端方法:
private void InitializeSignalR()
{
var hubConnection = new Connection("http://localhost:8084");
hubConnection.Start();
hubConnection.Received += OnSignalRMessage;
}
private void OnSignalRMessage(string data)
{
MessageBox.Show(data);
}