4
我有一個.NET控制檯應用程序,我正在練習signalR。SignalR .NET客戶端沒有收到消息
var hubConnection = new HubConnection("http://URL/signalr/");
var hub = hubConnection.CreateHubProxy("Hub");
hub.StateChanged += change =>
{
Console.WriteLine(change.NewState);
};
hub.Received += s =>
{
Console.WriteLine(s);
};
hub.On<string, string>("processMessage", (group, message) =>
{
Console.WriteLine(message);
});
await hubConnection.Start();
await hub.Invoke<string>("Subscribe", "New group");
我看到狀態從連接更改爲連接,但是當服務器發送消息時,我沒有在客戶端上收到「已收到」事件。服務器在客戶端訂閱後立即發送羣組消息,並且我可以看到正在使用正確的「新羣組」組名發送的消息,但是我從不在客戶端收到消息。當服務器使用該方法時,我也不會收到processMessage事件。
服務器代碼
private void CallBack(string group, string message)
{
Clients.Group(group).processMessage(group, message);
}
服務器上的另一種方法是訂閱它只是設置我內心的服務器使用的回調方法,當有可用的數據發送給客戶端。
編輯 這在Javascript中起作用,它似乎不能在.NET客戶端中工作。
你可以請添加服務器代碼以及 –
爲什麼近距離投票和downvote?這是一個努力的合法問題。 –
剛剛添加了服務器代碼。 – Chrisgozd