如何使用 IUserIdProvider

How to use IUserIdProvider

我的代码:

public string GetUserId(IRequest request) {
   var token = request.QueryString.Get("token");
   // what is it? request.User.Identity.Name;
   if (string.IsNullOrWhiteSpace(token)) {
     return token;
   }
   else {
      return JsonConvert.SerializeObject(new UserAbility().GetUserByToken(token));
   }
}

我需要使用不同的标识符映射与用户的连接。 所以我想在这个方法中从 QueryString 获取自定义令牌,但是 GetUserId 不会在每个请求中触发。

而且我总是得到 request.User.Identity.Name 字符串是否为空?

本文解释了您需要做什么。

http://www.asp.net/signalr/overview/guide-to-the-api/mapping-users-to-connections#IUserIdProvider