■はじめに
本記事は、SignalRを利用して、UWPのアプリからWPFのアプリのメソッドを実行する為の方法をまとめた記事の、引数と戻り値の方法です。
以下の2つの準備ができている前提となります。
■引数
サーバー側のソースの「SampleHub」クラスに以下のメソッドを追加する。
public void CallSampleTwo(string sample)
{
System.Diagnostics.Debug.WriteLine("=====SampleHubの呼び出す=====");
System.Diagnostics.Debug.WriteLine(sample);
}
クライアント側のソースの「MainPage」クラスの「proxy.Invoke」の処理を以下に書き換える。
変更前
proxy.Invoke("CallSample").Wait();
変更後
proxy.Invoke("CallSampleTwo", "引数のデータだよ").Wait();
その後、サーバー実行を行ったあとクライアントの実行を行い、サーバー側のコンソールに以下が出力されていることを確認する。
■戻り値
サーバー側のソースの「SampleHub」クラスに以下のメソッドを追加する。
public void CallSampleThree()
{
System.Diagnostics.Debug.WriteLine("=====あああああああああああ123=====");
Clients.All.HelloWorld("あいうえお", "かきくけこ");
}
クライアント側のソースの「MainPage」クラスの「proxy.Invoke」の処理を以下に書き換える。
変更前
proxy.Invoke("CallSample").Wait();
変更後
proxy.Invoke("CallSampleThree").Wait();
クライアント側のソースの「MainPage」クラスの「var proxy = connection.CreateHubProxy("Sample");」以降、「connection.Start().Wait();」以前に以下を追加する。
proxy.On<string, string>("HelloWorld", (user, message) =>
{
System.Diagnostics.Debug.WriteLine("=====あああああああああああ=====");
System.Diagnostics.Debug.WriteLine(user);
System.Diagnostics.Debug.WriteLine(message);
});
その後、サーバー実行を行ったあとクライアントの実行を行い、クライアント側のコンソールに以下が出力されていることを確認する。