对象引用未设置为 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);
}
这是我的 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);
}