2

我是 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 中被此连接卡住:(

任何想法,为什么会这样?

4

1 回答 1

1

您可能会遇到此错误:https ://github.com/SignalR/SignalR/issues/2753

它似乎是特定于 WebSocket 传输的,一旦发布就应该在 SignalR 2.0.3 中修复。

于 2014-02-06T19:24:09.267 回答