GetEndpointName
將目前攔截端點的名稱推至堆疊上。
<wcf:Operation Name="GetEndpointName" />
無。
包含目前攔截端點名稱的字串。
請務必注意,對於 App.config 檔案中指定的相同端點名稱,用戶端和伺服器應用程式會傳回不同的名稱。
在用戶端應用程式方面,GetEndPointName 作業擷取的端點名稱是後面接著底線和合約名稱的繫結名稱。
例如,如果未設定 ServiceEndpoint 上的 Name 屬性,但已設定系結,則會將名稱設定為 <binding> _ <contract> 。
如果未設定名稱和系結,Name 屬性將會設定為 <合約> 。
在服務方面,擷取到的名稱會是指定於 App.config 檔案中的端點名稱。
下列範例篩選條件運算式會針對 PurchaseOrder_EP 端點的 ServiceRequest 合約呼叫點,定義其接收作業的攔截。 這個作業會依照下列邏輯步驟完成:
以目前的作業名稱來比較 "Receive",並將結果 (true 或 false) 推至堆疊上。
以目前的服務合約呼叫點來比較 "ServiceRequest",並將結果 (true 或 false) 推至堆疊上。 堆疊上現在有兩個布林值。
使用布林 值 And 作業來比較上述步驟的結果,並在堆疊上推送結果。 最後堆疊上只會出現一個布林值。
以目前的端點來比較 "PurchaseOrder_EP",並將結果 (true 或 false) 推至堆疊上。 堆疊上現在有兩個布林值。
最後,使用布林 值 And 作業來比較堆疊上的兩個布林值,並將結果推送至堆疊。 這個運算會以某個布林值來檢查端點比較的結果,如果作業名稱和合約呼叫點相符則為 true,否則為 false。
<ic:Filter>
<ic:Expression>
<wcf:Operation Name="GetOperationName" />
<ic:Operation Name="Constant">
<ic:Argument>Receive</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals" />
<wcf:Operation Name="GetServiceContractCallPoint" />
<ic:Operation Name="Constant">
<ic:Argument>ServiceRequest</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals" />
<ic:Operation Name="And" />
<wcf:Operation Name="GetEndpointName" />
<ic:Operation Name="Constant">
<ic:Argument>PurchaseOrder_EP</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals" />
<ic:Operation Name="And" />
</ic:Expression>
</ic:Filter>