我是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();
}
Altho here:http://www.asp.net/signalr/overview/signalr-20/hubs-api/mapping-users-to-connections他们使用此代码将用户映射到id,我的意思是如果你有这个问题,用户关闭一个窗口,那么你将始终在_connections中遇到这个连接:(
任何想法,为什么会这样?
答案 0 :(得分:1)
您可能遇到此错误:https://github.com/SignalR/SignalR/issues/2753
它似乎特定于WebSocket传输,应该在SignalR 2.0.3发布后修复。