6

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);
    }
4

3 に答える 3