2012-12-12 70 views
-2

我可以添加用戶名,而不是connection.id。它工作嗎?我問這是因爲通過ConnectionId我不能發送通知給用戶,因爲ConnectionId總是變化?信號器組添加

Groups.Add(「my_username」,「MyGroup1的);

回答

1

,你不行,你必須使用的ConnectionId但是你可以做以下

在集線器店映射的用戶列表。到連接ID:

static ConcurrentDictionary<string, User> _users = new ConcurrentDictionary<string, User>(); 

然後在客戶端連接啓動後,你可以調用的方法等:

myHub.server.createUser("MyUsername"); 

當然在服務器上你必須:

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的用戶仍然必須通過_users字典他/她的用戶名的情況下。

注意:此代碼通過信號器1.0 alpha +