Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以静态方法分组并向客户端发送消息_C#_Signalr_Static Methods_Signalr Hub_Object Reference - Fatal编程技术网

C# 以静态方法分组并向客户端发送消息

C# 以静态方法分组并向客户端发送消息,c#,signalr,static-methods,signalr-hub,object-reference,C#,Signalr,Static Methods,Signalr Hub,Object Reference,我有一个GroupManager类,在这个过程中,我想对人们进行分组,并从一个静态方法向他们发送消息,这可能吗 这是我的班级经理 public class GroupManager: Hub { // The dictionnary contains <userName, conectionId> private static Dictionary<string, string> _reference { get; set; } private

我有一个GroupManager类,在这个过程中,我想对人们进行分组,并从一个静态方法向他们发送消息,这可能吗

这是我的班级经理

public class GroupManager: Hub
{
    // The dictionnary contains <userName, conectionId>
    private static Dictionary<string, string> _reference { get; set; }

    private static void CreateRoom(string roomName)
    {
        foreach (var user in _reference)
        {
            // error
            Groups.Add(user.Value, roomName);
            Clients.Group(roomName).sendMessageToClient("user connected : " + user.Key);
        }
    }
}
公共类组管理器:集线器
{
//措辞包含
私有静态字典_引用{get;set;}
私有静态void CreateRoom(字符串roomName)
{
foreach(变量用户在_引用中)
{
//错误
添加(user.Value,roomName);
Clients.Group(roomName).sendMessageToClient(“用户连接:”+user.Key);
}
}
}
当我呼叫组时。添加

有一个错误:

非静态字段、方法或属性需要对象引用

客户端组出现相同错误

我理解这个问题,但我不知道如何获取中心的对象引用

谢谢

编辑:


为什么要将CreateRoom设置为静态?如果它是在静态数据上操作的,您不需要它是静态的(并且通过使它成为静态的,它就不能在实例数据上操作)

如果需要从集线器本身外部访问集线器,请参阅以下内容:


为什么要将CreateRoom设置为静态?如果它是在静态数据上操作的,您不需要它是静态的(并且通过使它成为静态的,它就不能在实例数据上操作)

如果需要从集线器本身外部访问集线器,请参阅以下内容:

从dictionary属性和CreateRoom方法中删除关键字“static”

静态方法无法对实例数据进行操作,这就是问题所在。

从dictionary属性和CreateRoom方法中删除关键字“Static”


静态方法无法对实例数据进行操作,这就是问题所在。

显示您的
客户端
类和
方法实现。我没有编写组和客户端方法,它们来自Hub类继承我编辑了这篇文章,用于添加2个方法引用的屏幕截图展示你的
客户机
类和
方法实现。我没有编写组和客户机方法,它们来自Hub类Inheritance我编辑了这篇文章,用于添加2个方法引用的屏幕截图