"someHub"に接続している私のコンソールアプリケーションにデータを送信したい。私はa linkの例で説明したようにしようとしましたが、結果はありませんでした。 サーバー側のコード:SignalR:サーバから.Netクライアントメソッドを呼び出す方法?
[HubName("somehub")]
public class SomeHub : Hub
{
public override Task OnConnected()
{
//Here I want to send "hello" on my sonsole application
Clients.Caller.sendSomeData("hello");
return base.OnConnected();
}
}
CLIEN側のコード:
public class Provider
{
protected HubConnection Connection;
private IHubProxy _someHub;
public Provider()
{
Connection = new HubConnection("http://localhost:4702/");
_someHub = Connection.CreateHubProxy("somehub");
Init();
}
private void Init()
{
_someHub.On<string>("sendSomeData", s =>
{
//This code is not reachable
Console.WriteLine("Some data from server({0})", s);
});
Connection.Start().Wait();
}
}
これを実装するための最善の解決策は何であると私はクライアントのメソッドを呼び出すことはできませんよ理由は何ですか?
MapHubを呼び出しましたか? – halter73
はい私はしました。クライアントからサーバーへの呼び出しは、 myHub.Invoke( "GetValue")。ContinueWith(task => )Console.WriteLine(サーバーからの値{0} "、task.Result)); 、ただしサーバーからクライアントへ - –
Denis
[SignalR +と重複している可能性のあるメッセージをハブに送信する](http://stackoverflow.com/questions/7549179/signalr-posting-a-message- to-a-hub-via-an-action-method) – Liam