2010-05-31 46 views
1

我通過調用檢索WindowsIdentity對象:在WindowsIdentity對象上調用Dispose()? C#

win_id = System.Security.Principal.WindowsIdentity.GetCurrent(); 

與得到當前登錄的用戶名,工作正常的意圖。

WindowsIdentity實現了IDisposable,但由於我自己並沒有創建對象,當我完成它時還是需要調用.Dispose()方法嗎?

謝謝。

回答

3

WindowsIdentity.GetCurrent()返回一個實例,所以你應該妥善處置它。從MSDN

報價:

返回一個WindowsIdentity對象是 表示當前的Windows用戶。

而且here是關於該主題的另一個好文章:

WindowsIdentity.GetCurrent()返回,你應該處理, 否則你暫時泄漏用戶手柄一個實例。

+2

第二篇文章有非常重要的背景,你不要鏈接:「除非你冒充」。顯然這可能導致難以追蹤錯誤。 – Quibblesome 2017-01-11 10:57:21

相關問題