WPF istemcisi uygulamasının WCF servisi tarafından gönderilen bir SignalR mesajı almasını sağlamaya çalışıyorum. Birçok şey denedim ve şimdi bir şeyin işe yaradığı umuduyla hack yapmaya başvurdum. Çevrimiçi dersleri ve örnekleri takip ettim ve WPF OnSignalRMessage() yönteminin çağrılmasını sağlayamadım. Burada nerede yanlış gidiyorum?İstemcide SinyalR iletisi alınmıyor
Benim göbek:
public class PrestoHub : Hub
{
public void Send(string message)
{
Clients.All.OnSignalRMessage(message);
}
}
Benim başlangıç sınıfı:
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration { EnableCrossDomain = true };
app.MapHubs("http://localhost:8084", config);
}
}
(benim WCF hizmeti konak içinde) benim SignalR ana başlatır yöntemi:
private void StartSignalRHost()
{
const string url = "http://localhost:8084";
WebApplication.Start<Startup>(url);
}
kodu Bazı mesaj göndermek için:
GlobalHost.ConnectionManager.GetHubContext<PrestoHub>().Clients.All.OnSignalRMessage("snuh");
Console.WriteLine("Sent 'snuh' to all clients...");
Benim WPF istemci yöntemleri:
private void InitializeSignalR()
{
var hubConnection = new Connection("http://localhost:8084");
hubConnection.Start();
hubConnection.Received += OnSignalRMessage;
}
private void OnSignalRMessage(string data)
{
MessageBox.Show(data);
}
Bir URL belirtme neden uygulamanızın başarısız olmasına neden oldu: https://github.com/SignalR/SignalR/issues/962 –
Bu yüzden tam URL'yi belirtiyordum? Eğer değiştirmek istersem, böyle bir şey yapmalı mıyım? 'MapHubs ("~/SignalR2") ' –