2011-08-21 41 views
1

我使用Membership.getUser()來獲取當前登錄的用戶,但是我最近發現每次調用它時,數據都從數據庫中檢索出來。確實Page.User打電話做數據庫

如果page.user也調用了數據庫,那麼我怎麼才能得到當前登錄的用戶而不連續敲擊數據庫。

在會話中存儲和管理這個對象是很困難的。

回答

3

Page.User不會碰到數據庫。

您可以從HttpContext中獲取當前登錄用戶的名稱,而不碰到數據庫。

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

OR

string userName = Page.User.Identity.Name; 
1

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

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