SignalR: Jak wywołać metodę klienta .Net z serwera?
Chcę wysłać dane do mojej aplikacji konsoli, która ma połączenie z moim „someHub”. Próbowałem zrobić to, co opisano w przykładzie zlink ale nie otrzymałem wyniku. Kod po stronie serwera:
[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();
}
}
Kod po stronie 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();
}
}
Jakie jest najlepsze rozwiązanie do wdrożenia tego i jaki jest powód, dla którego nie mogę wywołać metody klienta?