WCF サービスから送信された SignalR メッセージを WPF クライアント アプリで受信しようとしています。私は多くのことを試しましたが、何かがうまくいくことを期待して、ハッキングに頼っています。オンラインのチュートリアルと例に従っていますが、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);
}