共用方式為


HOW TO:設定 ProtectionLevel 屬性

您可以套用適當的屬性 (Attribute) 並設定屬性 (Property),藉此設定保護層級。您可以設定服務層級的保護,以影響每一個訊息的所有部分,或是從方法到訊息部分,設定極細微的保護層級。如需 ProtectionLevel 屬性的詳細資訊,請參閱瞭解保護層級

Aa347791.note(zh-tw,VS.90).gif注意:
您只能在程式碼中設定保護層級,而不能在組態中設定。

簽署服務的所有訊息

  1. 建立服務的介面。

  2. ServiceContractAttribute 屬性 (Attribute) 套用至服務,並且將 ProtectionLevel 屬性 (Property) 設為 Sign,如以下程式碼中所示 (預設層級為 EncryptAndSign)。

簽署作業的所有訊息部分

  1. 建立服務的介面,並且將 ServiceContractAttribute 屬性套用至介面。

  2. 將方法宣告加入至介面。

  3. OperationContractAttribute 屬性 (Attribute) 套用至方法,並且將 ProtectionLevel 屬性 (Property) 設為 Sign,如以下程式碼中所示。

保護錯誤訊息

在服務上擲回的例外狀況可以當成 SOAP 錯誤傳送至用戶端。如需 建立強型別錯誤的詳細資訊,請參閱指定與處理合約和服務中的錯誤HOW TO:在服務合約中宣告錯誤

保護錯誤訊息

  1. 建立表示錯誤訊息的類型。以下範例將建立名為 MathFault 的類別,其中包含兩個欄位。

  2. DataContractAttribute 屬性套用至類型,並且將 DataMemberAttribute 屬性套用至應序列化的每一個欄位,如以下程式碼所示。

  3. 在傳回錯誤的介面中,將 FaultContractAttribute 屬性套用至傳回錯誤的方法,並且將 detailType 參數設為錯誤類別的類型。

  4. 同時,在建構函式中,將 ProtectionLevel 屬性設為 EncryptAndSign,如以下程式碼所示。

保護訊息部分

使用訊息合約保護訊息的部分。如需 訊息合約的詳細資訊,請參閱使用訊息合約

保護訊息本文

  1. 建立表示訊息的類型。以下範例將建立 Company 類別,其中包含兩個欄位 CompanyNameCompanyID

  2. MessageContractAttribute 屬性 (Attribute) 套用至類別,並且將 ProtectionLevel 屬性 (Property) 設為 EncryptAndSign

  3. MessageHeaderAttribute 屬性 (Attribute) 套用以訊息標頭表示的欄位,並且將 ProtectionLevel 屬性 (Property) 設為 EncryptAndSign

  4. MessageBodyMemberAttribute 套用至任何以訊息本文的部分表示的欄位,並且將 ProtectionLevel 屬性設為 EncryptAndSign,如以下範例所示。

範例

以下範例會在服務中的不同位置,設定數個屬性 (Attribute) 類別的 ProtectionLevel 屬性 (Property)。

編譯程式碼

以下範例示範編譯範例程式碼所需的命名空間。

請參閱

參考

ServiceContractAttribute
OperationContractAttribute
FaultContractAttribute
MessageContractAttribute
MessageBodyMemberAttribute

概念

瞭解保護層級