2011-09-09 106 views
27

我想知道用戶的電子郵件地址(假設她在典型的Windows辦公室網絡中)。這是在C#應用程序中。也許有什麼影響在.NET中獲取當前用戶的電子郵件地址

CurrentUser.EmailAddress; 
+1

你的問題不清楚,並在指定的。你能重申它嗎? –

+0

請說明你的問題。你是通過某種API擴展交換服務器嗎?這是一個獨立的應用程序,連接到交換並試圖找出何時滿足「某些條件」?你在這裏沒有給我們太多的工作。 – feathj

+0

我很確定OP在談論AD。但是,Calv1n,您應該通過編輯來澄清您的問題,否則社區可能會將其關閉。 –

回答

90

參考System.DirectoryServices.AccountManagement,然後

using System.DirectoryServices.AccountManagement; 
UserPrincipal.Current.EmailAddress 

或者有超時:

var task = Task.Run(() => UserPrincipal.Current.EmailAddress); 
if (task.Wait(TimeSpan.FromSeconds(1))) 
    return task.Result; 
+9

這應該是被接受的答案。很多,比鏈接的文章更簡單。 –

+1

UserPrincipal.Current在我的非域計算機上非常慢。似乎在該屬性返回前大約5秒的超時時間,我還沒有找到解決該問題的方法。 – angularsen

+1

重要提示:如果用戶不在域上,則速度非常慢。您的客戶將會看到的其中一個問題,而不是您。 – Robin

相關問題