共用方式為


<soapProcessing>

定義用戶端端點行為,這個行為會用來封送處理不同繫結型別和訊息版本之間的訊息。

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <soapProcessing>

Syntax

<soapProcessing processMessages="true|false" />

屬性和元素

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
processMessages 布林值,這個值指定是否應該在 SOAP 訊息版本之間封送處理訊息。

子元素

父元素

元素 描述
<behavior> 指定端點行為。

備註

SOAP 處理是在訊息版本之間轉換訊息的程序。

Windows Communication Foundation (WCF) 路由服務可以將其中一種通訊協定的訊息轉換為另一種通訊協定。 如果傳入及傳出的訊息版本不同,會建立正確版本的新訊息。 在 MessageVersion 之間處理訊息,是透過建構包含來自傳入 WCF 訊息的主體部分和相關標頭的新 WCF 訊息來完成。 定址專用或是在路由器層級辨識的標頭,不會在建構新 WCF 訊息期間使用,因為這些標頭不是屬於不同的版本 (若為定址標頭),就是已做為用戶端和路由器之間通訊的一部分處理。

標頭是否放置在傳出訊息內,是透過標頭是否在通過傳入通道層時標記為辨識所決定。 未經辨識的標題 (例如自訂標題) 不會被移除,因此會透過複製到傳出訊息中的方式通過路由服務。 訊息的主體會複製到傳出訊息中。 接著,會將訊息傳出到輸出通道,此時會建立並加入該通訊協定/傳輸專用的所有標題和其他封套資料。

此類處理步驟會在指定 SOAP 處理行為時發生。 這個 <soapProcessingExtension> 行為是端點行為,該行為會於路由服務啟動時套用至所有用戶端 (傳出) 端點。根據預設,<routing> 行為會建立並附加新的 <soapProcessingExtension> 行為,並針對每個用戶端端點將 processMessages 設定為 true。 如果路由服務無法辨識您的通訊協定,或者您想要覆寫預設的處理行為,可以停用整個路由服務的 SOAP 處理,或者只停用特定端點的 SOAP 處理。 若要在所有端點上停用整個路由服務的 SOAP 處理,請將 <routing> 行為的 soapProcessing 屬性設定為 false。 若要關閉特定端點的 SOAP 處理,請使用這個行為,並將其 processMessages 屬性設定為 false,然後將這個屬性附加至某個端點 (您不希望預設處理程式碼在此端點上執行)。 當 <routing> 行為設定路由服務時,會略過重複套用端點行為,因為已經有一個端點行為存在。