gpt4 book ai didi

c# - Request.IsAuthenticated 为 TRUE 但 Membership.GetUser() 为 NULL

转载 作者:行者123 更新时间:2023-11-30 14:56:29 24 4
gpt4 key购买 nike

我在 .NET 网络应用程序中发现了一个奇怪的行为。它很少发生,但如果我坐在一个页面上并继续按 F5,最终我将让 Membership.GetUser() 返回 NULL,即使 Request.IsAuthenticated 返回 true。

if (Request.IsAuthenticated)
{
MembershipUser user = Membership.GetUser(); //user is occasionally null.
}

我的理解是这不应该发生,问题的间歇性使我认为这是一个错误,但除了将 GetUser() 调用放在 WHILE 循环中(这消除了 GetUser() 工作时的问题在第二次尝试时),我不确定还有什么地方可以寻找造成这种情况的原因。我们在另一台服务器上使用 Web 服务作为我们的成员(member)提供者,但我已将其作为超时问题消除,它会返回不同的错误。

最佳答案

成员资格和身份验证彼此无关(好吧,几乎没有)。 Request.IsAuthenticated 仅表示浏览器计算机上存在有效的 FormsAuthentication cookie。除了提供正确的 IIdentity.Name 值外,它与获取成员资格信息无关。

这里的问题似乎出在您的成员(member)资格提供商中。您提到您使用网络服务来检索成员(member)信息。你说你已经消除了它作为问题的根源,但没有说你是如何消除它的。

我会说它很可能与此网络服务有关。

关于c# - Request.IsAuthenticated 为 TRUE 但 Membership.GetUser() 为 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22769770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com