我是 SignalR 的新手,我明白为什么当我关闭窗口时, OnDisconnected 被调用,而 Identity.Name 为空?
以及索赔等...
override Task OnDisconnected()
{
Context.User.Identity.Name
var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;
string id = identity.Claims.Where(c => c.Type == UserInfoIdClaimType)
.Select(c => c.Value).Single();
}
在这里:http ://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections他们使用此代码将用户映射到 id,我的意思是如果你有这个问题用户关闭一个窗口,那么您将始终在 _connections 中被此连接卡住:(
任何想法,为什么会这样?