SignalR hub Context.ConnectionId 对象引用错误

SignalR hub Context.ConnectionId object reference error

我学习了很多有关 SignalR 和向特定客户端发送消息的教程。我得到以下信息:

错误:

An object reference is required for the non-static field, method, or property 'HubBase.Context'

代码:

public class ProgressHub : Hub
{

    public string msg = "Initializing and Preparing...";
    public int counter = 1;

    public static void SendMessage(string msg, int count)
    {
        var message = msg;
        var hubContext = GlobalHost.ConnectionManager.GetHubContext<ProgressHub>();
        //Context.ConnectionId throwing error
        hubContext.Clients.Client(Context.ConnectionId).sendMessage(string.Format(message), count); 
    }

    public void GetCountAndMessage()
    {
        Clients.Caller.sendMessage(string.Format(msg), counter);
    }
}

不确定我做错了什么 Context.connectionId 行与他们使用的完全相同,但我的行给出了对象引用错误?

如错误消息所述,您正在尝试访问非静态 Context property in your static method, which is not possible (see Static Classes and Static Class Members 以获取更多信息)。解决此问题的一个选项是通过删除 static 关键字使 SendMessage 方法成为非静态方法。