文章編號: 959546 - 上次校閱: 2009年4月1日 - 版次: 1.2

FIX: XAML 瀏覽器應用程式安全性例外狀況錯誤時傳回您用來連線 WCF 服務在部分信任的應用程式

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
全部展開 | 全部摺疊

徵狀

裝載在網際網路資訊服務 (IIS) 的 Windows 通訊基礎 (WCF) 服務設定為使用 BasicHttpBinding 繫結和 WindowsAuthentication 驗證。當使用 XAML 瀏覽器應用程式 (XBAP) 連接 WCF 服務在部分信任的環境中 XAML 瀏覽器應用程式會傳回安全性例外狀況錯誤。此外,您會收到類似下列的錯誤訊息:
為型別的使用權限要求 System.Security.SecurityException: ' System.net.WebPermission、 系統、 版本 = x 文化特性 = 中性 PublicKeyToken = y 失敗。
備忘稿
  • X 表示版本號碼。
  • Y 代表語彙基元的識別碼。
  • 以完全信任模式,不會發生這個問題。

發生的原因

若要啟用 NTLM 驗證連接共用 HttpWebRequest.UnsafeAuthenticatedConnectionSharing 屬性設定為 True,就會發生這個問題。這個屬性設定為 True,對於效能最佳化。不過,setter 行為所要求的不受限制的 Web 權限。部分信任並不提供此權限。因此,應用程式會傳回安全性例外狀況錯誤。

解決方案

一個支援的 Hotfix 現在已可從 Microsoft取得。不過,它只修正本文中所述此問題。請只在發生此特定問題的系統上套用。此 Hotfix 可能會接受其他測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的 Service Pack。

如果要立即解決這個問題,請聯絡 Microsoft 客戶支援服務 」,以取得該 Hotfix。如需 Microsoft 客戶支援服務電話號碼及支援成本的相關資訊的完整清單,請造訪下列 Microsoft 網站]:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註 在特殊情況下通常會因支援電話所產生的費用可能就不收取如果 Microsoft 支援人員認為某特定更新程式可以解決您的問題。平常的支援成本將會套用到其他支援問題是所做不限定特定有問題的更新程式。

必要條件

您必須擁有.NET Framework 3.5 Service Pack 1 若要套用這個 Hotfix 安裝。

重新啟動需求

您沒有如果沒有.NET Framework 執行個體正在使用中,套用此 Hotfix 之後重新啟動電腦。

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。尋找要查看 UTC 與當地時間、 使用差異 時區 定位在 日期和時間 在 [控制台] 的項目中。
x 86 版本 Windows Server 2000、 Windows Server 2003 和 Windows XP 上
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.runtime.serialization.dll3.0.4506.4019970,75229-Jan-200900: 21x86
System.servicemodel.dll3.0.4506.40195,931,00829-Jan-200900: 21x86
在 Windows Server 2000、 Windows Server 2003 和 Windows XP 64 版本 x
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.runtime.serialization.dll3.0.4506.4019847,87228-Jan-200921: 46x64
System.runtime.serialization.dll3.0.4506.4019970,75229-Jan-200900: 21x86
System.servicemodel.dll3.0.4506.40195,267,45628-Jan-200921: 46x64
System.servicemodel.dll3.0.4506.40195,931,00829-Jan-200900: 21x86
x 86 版本的 Windows Vista SP1、 Windows Server Core 和 Windows Server 2008
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.servicemodel.dll3.0.4506.40375,931,00812-Feb-200900: 28x86
x 64 版本的 Windows Vista SP1,Windows Server 核心和 Windows Server 2008
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.servicemodel.dll3.0.4506.40375,267,45612-Feb-200900: 34x64
System.servicemodel.dll3.0.4506.40375,931,00812-Feb-200900: 28x86
Windows Server Core 和 Windows Server 2008 的 Itanium 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
System.servicemodel.dll3.0.4506.40375,267,45611-Feb-200923: 28IA 64
System.servicemodel.dll3.0.4506.40375,931,00812-Feb-200900: 28x86

其他可行方案

如果要解決這個問題,請將 HttpWebRequest.UnsafeAuthenticatedConnectionSharing 屬性設定為 False,當您使用部分信任。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

?考

如需有關 [部分信任] 功能的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn.microsoft.com/en-us/library/bb412186.aspx (http://msdn.microsoft.com/en-us/library/bb412186.aspx)
如需有關 HttpWebRequest.UnsafeAuthenticatedConnectionSharing 屬性的詳細資訊,請造訪下列 MSDN 網站:
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.unsafeauthenticatedconnectionsharing(VS.71).aspx (http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.unsafeauthenticatedconnectionsharing(VS.71).aspx)

這篇文章中的資訊適用於:
  • Windows Communication Foundation
關鍵字:?
kbmt kbhotfixserver kbexpertiseadvanced kbqfe kbsurveynew KB959546 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:959546? (http://support.microsoft.com/kb/959546/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。