私はsignalrとasp.netMVC3を使用してサンプルチャットアプリケーションを構築しています。これが私のSignalHubの外観です
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がnullであることがわかりました。Task Join()メソッドでユーザー名を取得するにはどうすればよいですか?