对象引用未设置为 SignalR asp.net MVC 身份框架中的对象实例

Object reference not set to an instance of an object in SignalR asp.net MVC identity framework

这是我的 hub 的代码 class

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

执行此行时 string uid = Context.Request.User.Identity.GetUserName(); 它给我这个错误 "Object reference not set to an instance of an object"。 我无法获得登录用户的用户名。如何从 connectionId 或其他任何东西获取登录用户信息?

在您的启动中检查您是否在配置身份验证后映射 signalR:

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

}