对象引用未设置为SignalR asp.net MVC identity framework中对象的实例

对象引用未设置为SignalR asp.net MVC identity framework中对象的实例,asp.net,asp.net-mvc,signalr,asp.net-identity,signalr-hub,Asp.net,Asp.net Mvc,Signalr,Asp.net Identity,Signalr Hub,这是我的hub类的代码 public class ChatHub : Hub { [Authorize] public void Send(string name, string message ) { string uid = Context.Request.User.Identity.GetUserName(); Debug.WriteLine(uid); // Debug.WriteLine();

这是我的hub类的代码

public class ChatHub : Hub
  { 
    [Authorize]

    public void Send(string name, string message )
    {

        string uid = Context.Request.User.Identity.GetUserName();
        Debug.WriteLine(uid);

       // Debug.WriteLine();

        Clients.All.addNewMessageToPage(uid, message);
    }
 }
执行此行时,字符串uid=Context.Request.User.Identity.GetUserName(); 它给我这个错误“对象引用未设置为对象的实例”。
我无法获取登录用户的用户名。如何从connectionId或其他任何内容获取登录用户信息?

如果在配置身份验证后映射signalR,请在启动检查中:

public void Configuration(IAppBuilder app)
{
  var hubConfiguration = new HubConfiguration { EnableDetailedErrors = true };
  ConfigureAuth(app);
  app.MapSignalR(hubConfiguration);

}

您使用什么样的日志记录方法?(表单,AD)我用于身份验证的asp.net标识您能检查哪个对象为空(null)吗?是请求、用户还是身份?如何检查此对象是否为空?如果用户正在进行身份验证,请在此行粘贴一个断点(我假设您使用的是Visual Studio)字符串uid=Context.Request.user.Identity.GetUserName();然后将光标放在每个对象上。var hubConfiguration=new hubConfiguration{enabledDetailedErrors=true};ConfigureAuth(app);这行代码在这里做什么?使用
启用DetailedErrors
您将在浏览器控制台中获得完整的错误堆栈。