我一直試圖讓我的WPF客戶端應用程序接收WCF服務發送的SignalR消息。我已經嘗試了很多東西,現在已經採取行動,希望能夠發揮某些作用。我在線上關注了教程和示例,並且我無法讓我的WPF OnSignalRMessage()方法被調用。 我在哪裏錯了?客戶端沒有收到SignalR消息
我的樞紐:
public class PrestoHub : Hub
{
public void Send(string message)
{
Clients.All.OnSignalRMessage(message);
}
}
我的啓動類:
public class Startup
{
public void Configuration(IAppBuilder app)
{
var config = new HubConfiguration { EnableCrossDomain = true };
app.MapHubs("http://localhost:8084", config);
}
}
啓動(我的WCF服務主機內)我SignalR主機的方法:
private void StartSignalRHost()
{
const string url = "http://localhost:8084";
WebApplication.Start<Startup>(url);
}
代碼實際發送一些消息:
GlobalHost.ConnectionManager.GetHubContext<PrestoHub>().Clients.All.OnSignalRMessage("snuh");
Console.WriteLine("Sent 'snuh' to all clients...");
我的WPF客戶端的方法:
private void InitializeSignalR()
{
var hubConnection = new Connection("http://localhost:8084");
hubConnection.Start();
hubConnection.Received += OnSignalRMessage;
}
private void OnSignalRMessage(string data)
{
MessageBox.Show(data);
}
爲什麼指定一個URL導致您的應用程序失敗的原因:https://github.com/SignalR/SignalR/issues/962 –
所以這是因爲我指定了完整的URL?如果我想改變它,我需要做這樣的事情? 'MapHubs( 「〜/ SignalR2」)' –