2017-02-24 103 views
0

我使用Membership.GetUser(User.Identity.Name).Email方法,試圖讓當前的用戶電子郵件地址,但其超時,我只是有一條線,我聲明並將該方法的返回值分配給一個變量 這是我的一行代碼string userEmail = Membership.GetUser(User.Identity.Name).Email;,獲取當前登錄的用戶的電子郵件地址timming了

我已經試過這個代碼,有或沒有username參數。我也試過先檢查用戶是否被驗證,但一旦進入這一行時間到,我自己也嘗試從一個不同的方法完全這樣做。

注:Windows驗證用於在Web應用程序

+0

檢查,如果數據庫連接中斷。 –

回答

1

Membership是ASP.NET成員,而不是身份。您需要使用:

var user = UserManager.FindById(User.Identity.GetUserId()); 

然後,您訪問該用戶對象的Email屬性。

UPDATE

我被你的使用[asp.net身份]標籤拋出。但是,所有的點都適用。 Membership來自與Windows身份驗證完全不同的身份驗證系統。當使用Windows身份驗證,您的用戶信息來自AD,所以你只需要,如果你需要更多的信息添加UserPrincipal擴展。請參閱my answer in this related question

+0

非常感謝@克里斯普拉特這幫助了很多,居然有我的組織現有的AD服務,我只是用它來獲取所有廣告用戶相關的信息,你回答我指出正確的方向 – Ronny

相關問題