HOW TO:將 WCF 用戶端設為與 WSE3.0 服務交互操作
當 WCF 用戶端設定為使用 WS-Addressing August 2004 版本規格時,Windows Communication Foundation (WCF) 用戶端的連線層級與 Microsoft .NET 服務的 Web Services Enhancements (WSE) 3.0 相容。
將 WCF 用戶端設定為與 WSE 3.0 Web 服務交互操作
執行Service Metadata Utility Tool (SvcUtil.exe),以建立 WSE 3.0 Web 服務的 WCF 用戶端。
針對 WSE Web 服務,會建立 WCF 用戶端類別。
如需建立 WCF 用戶端的詳細資訊,請參閱 HOW TO:建立 Windows Communication Foundation 用戶端。
建立類別,表示可與 WSE 3.0 Web 服務通訊的繫結。
下列類別為Interoperating with WSE範例的一部分。
- 建立從 Binding 類別衍生的類別。
下列程式碼範例會建立一個名為WseHttpBinding
的類別,此類別衍生自 Binding 類別。 - 將屬性加入至類別,以指定 WSE 通行判斷提示 (Turnkey Assertion)、是否需要衍生金鑰、是否使用安全工作階段、是否需要簽章確認,以及訊息保護設定。
以下程式碼範例會定義SecurityAssertion,
RequireDerivedKeys, EstablishSecurityContext, MessageProtectionOrder
屬性,這些屬性會分別指定 WSE 通行判斷提示、是否需要衍生金鑰、是否使用安全工作階段、是否需要簽章確認,以及訊息保護設定。 - 覆寫 CreateBindingElements 方法來設定繫結屬性。
下列程式碼範例會藉由取得SecurityAssertion
和MessageProtectionOrder
屬性的值,指定傳輸、訊息編碼和訊息保護設定。
- 建立從 Binding 類別衍生的類別。
在用戶端應用程式程式碼中,加入程式碼以設定繫結屬性。
下列程式碼範例會指定 WCF 用戶端必須依照 WSE 3.0 AnonymousForCertificate 通行安全性判斷提示所定義,使用訊息保護和驗證。此外,也需要安全工作階段和衍生金鑰。
範例
下列程式碼範例會定義自訂的繫結,此繫結會公開 WSE 3.0 通行安全性判斷提示屬性的對應屬性。接著會使用名為 WseHttpBinding
的自訂繫結,指定 WCF 用戶端的繫結屬性。