C# 信号器Irequest用户为空

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.

我遵循了这个答案,但是我在Irequest请求中得到了Null

我在app_start文件夹中创建了一个类,如下所示

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();