我正在使用 signalr 和 asp.net MVC3 构建示例聊天应用程序。这是我的信号器集线器的样子
public class MyHub:Hub,IDisconnect
{
public Task Join()
{
string username = HttpContext.Current.User.Identity.Name;
//find group based on username
string group = getGroup(username)
return Groups.Add(Context.ConnectionId, group);
}
public void doStuff()
{
string group = getGroup();
Clients[group].doStuffOnBrowser();
}
}
我的问题是页面加载时我的应用程序崩溃了。在使用调试器单步执行时,我发现 HttpContext.Current.User.Identity.Name 为空,即使用户已经过身份验证。如何在我的 Task Join() 方法中获取用户名?