2010-01-21 39 views

回答

4

the documentationGetUser會從數據源中的信息,並更新上次活動日期/時間標記爲當前登錄的成員資格用戶。

Page.User.Identity.Name不這樣做。它讀取內存中可用的信息。

2

Page.User.Identity在頁面通過管道時被填充。

Membership.GetUser()。用戶名從數據庫,Active Directory或提供程序支持的任何其他位置再次獲取信息,導致第二次查找。

這是不太可能改變,所以我會使用Page.User.Identity。

3

Page.User.Identity.Name給出當前記錄的用戶的身份。 Membership.GetUser()允許您獲取有關用戶的信息。

BTW,調用的getUser()不帶參數相同

Membership.GetUser(Page.User.Identity.Name) 

所以,如果你只需要用戶名,使用Page.User.Identity.Username和使用Membership.GetUser(),以獲得更多關於用戶的信息,比如電子郵件,或者像改變他的密碼一樣對用戶執行操作。

希望這將有助於

0

說明它很可能有User.Identity.Name引用不甚至在會員數據庫中的用戶。這是表單身份驗證以及User概念的一般抽象,其不一定存在於成員數據庫中。

如果您從會員數據庫中刪除當前用戶,則User.Identity.Name將保留其原始值。