2012-12-12 3 views
-2

수 있습니다. 사용자 이름 대신 connection.id. 작동합니까? 나는 ConnectionId가 항상 변경 되었기 때문에 ConnectionId를 통해 사용자에게 알림을 보낼 수 없기 때문에이 질문을하고 있습니까?신호 그룹 추가

Groups.Add ("my_username", "mygroup1)

답변

1

아니 당신은 할 수 없습니다, 당신은 ConnectionID를 사용하지합니다 당신은 그러나 다음과 같은 작업을 수행 할 수

를 허브 저장소에 매핑 된 사용자의 목록을.. 접속 ID에 :

myHub.server.createUser("MyUsername"); 
: 클라이언트 연결이 시작된 후
static ConcurrentDictionary<string, User> _users = new ConcurrentDictionary<string, User>(); 

는 그런 다음 같은 방법으로 호출 할 수 있습니다

서버에서 물론 당신은 할 것 :

public void createUser(string userName) 
{ 
    // You'd create a User class that had both of the following properties 
    var user = new User 
    { 
     UserName = userName, 
     ConnectionID = Context.ConnectionId 
    }; 
    _users.TryAdd(user.ConnectionID, user);   
} 

당신이 연결 ID를 통해 사용자를 조회 할 때마다 SO 여전히 _users 사전을 통해 그/그녀의 이름의 컨텍스트를 가지고있다.

참고 :이 코드는 signalr 1.0 alpha +

을 통해 작동합니다.