这是我的集线器类的代码
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或其他任何方式获取登录用户信息?
答案 0 :(得分:1)
在启动时检查配置身份验证后是否映射signalR:
public void Configuration(IAppBuilder app)
{
var hubConfiguration = new HubConfiguration { EnableDetailedErrors = true };
ConfigureAuth(app);
app.MapSignalR(hubConfiguration);
}