閱讀英文

共用方式為


GetEndpointName

將目前攔截端點的名稱推至堆疊上。

語法

  
<wcf:Operation Name="GetEndpointName" />  

參數

無。

推入的值

包含目前攔截端點名稱的字串。

備註

請務必注意,對於 App.config 檔案中指定的相同端點名稱,用戶端和伺服器應用程式會傳回不同的名稱。

在用戶端應用程式方面,GetEndPointName 作業擷取的端點名稱是後面接著底線和合約名稱的繫結名稱。

例如,如果未設定 ServiceEndpoint 上的 Name 屬性,但已設定系結,則會將名稱設定為 <binding> _ <contract> 。

如果未設定名稱和系結,Name 屬性將會設定為 <合約> 。

在服務方面,擷取到的名稱會是指定於 App.config 檔案中的端點名稱。

範例

下列範例篩選條件運算式會針對 PurchaseOrder_EP 端點的 ServiceRequest 合約呼叫點,定義其接收作業的攔截。 這個作業會依照下列邏輯步驟完成:

  1. 以目前的作業名稱來比較 "Receive",並將結果 (true 或 false) 推至堆疊上。

  2. 以目前的服務合約呼叫點來比較 "ServiceRequest",並將結果 (true 或 false) 推至堆疊上。 堆疊上現在有兩個布林值。

  3. 使用布林 值 And 作業來比較上述步驟的結果,並在堆疊上推送結果。 最後堆疊上只會出現一個布林值。

  4. 以目前的端點來比較 "PurchaseOrder_EP",並將結果 (true 或 false) 推至堆疊上。 堆疊上現在有兩個布林值。

  5. 最後,使用布林 值 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>  

另請參閱

Windows Communication Foundation 中的作業