C# SignalR.NET客户端未接收消息

C# SignalR.NET客户端未接收消息,c#,signalr,signalr.client,C#,Signalr,Signalr.client,我有一个.NET控制台应用程序,我正在使用它练习信号器 var hubConnection = new HubConnection("http://URL/signalr/"); var hub = hubConnection.CreateHubProxy("Hub"); hub.StateChanged += change => { Console.WriteLine(change.NewState); }; hub.Received += s => { C

我有一个.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");
服务器上的另一个方法是Subscribe,它只是将我的内部服务器设置为在有数据可发送到客户端时使用回调方法

编辑
这在Javascript中有效,但在.NET客户端中似乎不起作用。

如果没有完整的服务器端代码,很难说,但我认为这部分是错误的

hubConnection.CreateHubProxy("Hub");
作为参数,您需要服务器端的hubclass名称。比如说

hubConnection.CreateHubProxy("MyHub");
要获得客户端失败原因的更多信息,您可以将以下内容临时添加到您的连接中

hubConnection.TraceLevel = TraceLevels.All;
hubConnection.TraceWriter = Console.Out;

添加此项后,您将在VS中的输出部分获得进一步的调试信息。您能否同时添加服务器代码?为什么选择关闭投票和关闭投票?这是一个经过努力的合法问题。刚刚添加了服务器代码。您是否也可以提交您的集线器代码。+1用于在问题中包含服务器端集线器类的其余部分。如果无法发布整个中心的代码,那么至少应该包含Subscribe方法的代码。
hubConnection.TraceLevel = TraceLevels.All;
hubConnection.TraceWriter = Console.Out;