【问题标题】:does Page.User make a call do the databasePage.User 是否会调用数据库
【发布时间】:2011-08-21 16:23:20
【问题描述】:

我使用Membership.getUser() 来获取当前登录的用户,但我最近发现每次调用它时,都会从数据库中检索数据。

如果page.user 也调用了数据库,那么如何在不连续访问数据库的情况下获取当前登录的用户。

在会话中存储和管理这个对象会很困难。

【问题讨论】:

    标签: c# .net asp.net authentication membership


    【解决方案1】:

    Page.User 不会命中数据库。

    您可以从HttpContext 获取当前登录用户的名称,而无需访问数据库。

    string userName = HttpContext.Current.User.Identity.Name;
    

    string userName = Page.User.Identity.Name;
    

    【讨论】:

      【解决方案2】:

      你可以使用HttpContext.User.Identity[MSDN]

      if (User.Identity.IsAuthenticated)
      {
          Page.Title = "Home page for " + User.Identity.Name;
      }
      else
      {
          Page.Title = "Home page for guest user.";
      }
      

      【讨论】:

        猜你喜欢
        • 2019-08-22
        • 1970-01-01
        • 1970-01-01
        • 2012-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-29
        • 1970-01-01
        相关资源
        最近更新 更多