修正︰ System.NotSupportedException 例外狀況時擲回您執行 IIS 裝載 WCF 服務用戶端憑證用於 SSL 驗證

狀況

請考慮下列情況:

  • 您建立 Windows 通訊基礎 (WCF) 服務是裝載在網際網路資訊服務 (IIS)。

  • 您可以使用WebScriptEnablingBehavior類別在 WCF 服務中。

  • 您設定要用於安全通訊端層 (SSL) 驗證的用戶端憑證的 WCF 服務。若要這麼做,您可以設定ClientCredentialType屬性憑證Web.config 檔案中。

在這個案例中,當您執行 WCF 服務, System.NotSupportedException例外狀況,並且您收到錯誤訊息,類似下列︰

SSL 的設定服務 'None' 不符的 IIS 'Ssl、 SslNegotiateCert、 SslRequireCert、 SslMapCert、 Ssl128'。

原因

HttpTransportBindingElement執行個體的某些屬性不會複製到 [自動產生的 javascript 的 proxy 端點,就會發生這個問題。

解決方案

已經可以從 Microsoft 取得支援的 hotfix。不過,其旨在修正本文所描述的問題。它只適用於發生此特定問題的系統上。

若要解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。如需 Microsoft 客戶支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站︰

http://support.microsoft.com/contactus/?ws=support注意在特殊的情況下,如果 Microsoft 支援專業人員認為某特定更新程式可以解決您的問題時,可能就不會收取一般因支援電話所產生的費用。收取支援費用會套用,如果有其他支援問題是,不能限定的特定更新程式。

先決條件

您必須擁有.NET Framework 3.5 Service Pack 1 (SP1) 安裝套用此 hotfix 之後。

重新啟動需求

您沒有安裝 hotfix 之後,請重新啟動電腦。

Hotfix 取代資訊

此 hotfix 不會取代任何其他 hotfix。
此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。

Windows Server 2000、 Windows Server 2003 和 Windows XP x86 為基礎的版本

檔案名稱

檔案版本

檔案大小

日期

時間

平台

System.servicemodel.web.dll

3.5.594.4152

569,344

22-Jul-2009

01:51

x86


x64 為主的版本,Windows Server 2000、 Windows Server 2003 和 Windows XP

檔案名稱

檔案版本

檔案大小

日期

時間

平台

System.servicemodel.web.dll

3.5.594.4152

491,520

22-Jul-2009

02:13

x64


Windows Server 2000、 Windows Server 2003 和 Windows XP 的 itanium 型版本

檔案名稱

檔案版本

檔案大小

日期

時間

平台

System.servicemodel.web.dll

3.5.594.4152

491,520

22-Jul-2009

02:26

IA-64


狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

因應措施

若要解決這個問題,自主裝載 WCF 服務,而不是裝載在 IIS 服務。

更多的資訊

堆疊傾印資訊

System.ServiceModel.dll!System.ServiceModel.Channels.HttpsChannelListener.ApplyHostedContext(System.ServiceModel.Activation.VirtualPathExtension virtualPathExtension, bool isMetadataListener) + 0x1b7 bytes    

System.ServiceModel.dll!System.ServiceModel.Channels.HttpsTransportBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x69 bytes

System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes

System.ServiceModel.dll!System.ServiceModel.Channels.MessageEncodingBindingElement.InternalBuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x66 bytes

System.ServiceModel.Web.dll!System.ServiceModel.Channels.WebScriptMetadataMessageEncodingBindingElement.BuildChannelListener<System.__Canon>(System.ServiceModel.Channels.BindingContext context) + 0x4b bytes

System.ServiceModel.dll!System.ServiceModel.Channels.BindingContext.BuildInnerChannelListener<System.__Canon>() + 0x5f bytes

System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, string listenUriRelativeAddress, System.ServiceModel.Description.ListenUriMode listenUriMode, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0xa6 bytes

System.ServiceModel.dll!System.ServiceModel.Channels.Binding.BuildChannelListener<System.__Canon>(System.Uri listenUriBaseAddress, System.ServiceModel.Channels.BindingParameterCollection parameters) + 0x7c bytes

System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.AddMetadataEndpoint(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher, bool debugMode) + 0x698 bytes

System.ServiceModel.Web.dll!System.ServiceModel.Description.WebScriptEnablingBehavior.ApplyDispatchBehavior(System.ServiceModel.Description.ServiceEndpoint endpoint, System.ServiceModel.Dispatcher.EndpointDispatcher endpointDispatcher) + 0x60 bytes

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×