"someHub" ile bir bağlantıya sahip olan konsol uygulamasına veri göndermek istiyorum. Örnekte a link'dan tanımlandığı gibi yapmaya çalıştım ama sonuç almamıştım. Sunucu tarafında kod:SinyalR: Sunucudan Net istemci yöntemi nasıl aranır?
[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 yan kodu:
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();
}
}
bu uygulanmasına ilişkin en iyi çözüm nedir ve ben istemci yöntemi çağırmak mümkün değilim sebebi nedir?
MapHubs'ı aradınız mı? – halter73
Evet yaptım. İstemciden sunucuya yapılan aramalar şu şekilde çalışır: myHub.Invoke ("GetValue"). ContinueWith (görev => Console.WriteLine ("Sunucudan değer {0}", task.Result)); , ancak sunucudan istemciye - Hayır –
Denis
Olası çoğaltması [SignalR + bir eylem yöntemiyle bir Hub'a ileti gönderme] (http://stackoverflow.com/questions/7549179/signalr-posting-a-message- 0-a-hub-yoluyla-eylem-yöntemi) – Liam