C# 信号器Irequest用户为空
我遵循了这个答案,但是我在Irequest请求中得到了Null 我在app_start文件夹中创建了一个类,如下所示C# 信号器Irequest用户为空,c#,asp.net,model-view-controller,signalr,C#,Asp.net,Model View Controller,Signalr,我遵循了这个答案,但是我在Irequest请求中得到了Null 我在app_start文件夹中创建了一个类,如下所示 public class CustomUserIdProvider : IUserIdProvider { public string GetUserId(IRequest request) { // your logic to fetch a user identifier goes here.
public class CustomUserIdProvider : IUserIdProvider
{
public string GetUserId(IRequest request)
{
// your logic to fetch a user identifier goes here.
// for example:
var userId = request.User.Identity.Name;
return userId.ToString();
}
}
在此之后,我在Startup.cs中初始化新的costom提供程序,如下所示:
public void Configuration(IAppBuilder app)
{
var idProvider = new CustomUserIdProvider();
GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => idProvider);
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
但我在网上遇到了一个例外
var userId = request.User.Identity.Name;
发现问题,,
我必须在startup.cs结束时初始化
app.MapSignalR();
确保您的用户已通过身份验证,否则用户属性将始终为空。否,登录正常。。我在许多其他位置使用User.Identity.Name。。但这似乎不是同一类型
app.MapSignalR();