2010-03-27 58 views

回答

34

他們是完全一樣的東西,你可以爲自己使用像反光反彙編確認。唯一的區別是DefaultNetworkCredentials返回一個NetworkCredentials對象,而DefaultCredentials將其轉換爲ICredentials。因此,您可以通過NetworkCredentials對象訪問更多信息,但是您使用哪些對象提供給需要ICredentials實例的對象並沒有什麼區別,因爲它是同一對象實例:object.ReferenceEquals(CredentialCache.DefaultCredentials, CredentialCache.DefaultNetworkCredentials)返回true

+1

不錯的一個,我應該在嘗試之前嘗試過反射器:) – 2010-03-27 09:42:50

12

兩者之間的差異非常微妙。 DefaultNetworkCredentials是這兩者中的新成員(添加了.NET 2.0),核心的區別在於,在某些安全條件下,它可以將更多關於登錄用戶的私有信息公開給應用程序。欲瞭解更多信息,請這個博客帖子:

http://blogs.msdn.com/buckh/archive/2004/07/28/199706.aspx

相關問題