我有一个代码,可以在全部写入时更改UserId。
我已经实施了IUserIdProvider:
public class CustomUserIdProvider : IUserIdProvider
{
public string GetUserId(IRequest request)
{
string userId = "userName";
return userId;
}
}
并将此提供程序添加到启动类(配置功能):
var idProvider = new CustomUserIdProvider();
GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => idProvider);
我希望所有集线器中的所有用户ID都是" userName"。 我知道(或者可能不是?)为了在其中一个Hub函数中获取UserId,我需要得到以下值:
Context.User.Identity.Name
但实际上,这个值并不包含" userName",但是值不同:
在Hub中,当我查看Clients.User(" userName")时,我发现它是真正的连接ID,所以发生了一些事情(并且调试器在实现的GetUserId处停止功能),但仍然,在生产代码中,我对自定义用户ID一无所知,我想以某种方式获取它...
更多信息:VS2012,IIS Express。