GetEndpointName

将当前拦截终结点的名称推送到堆栈上。

Syntax

  
<wcf:Operation Name="GetEndpointName" />  

参数

没有。

推送值

包含当前截获终结点名称的字符串。

注解

请务必注意,客户端和服务器应用程序将返回 App.config 文件中指定的相同终结点名称的不同名称。

对于客户端应用程序,GetEndPointName 操作检索的终结点名称是绑定名称,后跟下划线和协定名称。

例如,如果未设置 ServiceEndpoint 上的 Name 属性,但设置了绑定,则名称将设置为 <binding>_<contract>。

如果未设置名称和绑定,则 Name 属性将设置为 <协定>。

对于服务,检索的名称是在 App.config 文件中指定的终结点名称。

示例

以下示例筛选器表达式为 PurchaseOrder_EP 终结点的 ServiceRequest 协定调用点定义 Receive 操作的截断。 此操作在以下逻辑步骤中完成:

  1. 将当前操作名称与“Receive”进行比较,并将结果(true 或 false)推送到堆栈。

  2. 将当前服务协定调用点与“ServiceRequest”进行比较,并将结果(true 或 false)推送到堆栈上。 堆栈上现在有两个布尔值。

  3. 使用布尔 操作比较上述步骤的结果,并在堆栈上推送结果。 这会在堆栈上留下一个布尔值。

  4. 将当前终结点与“PurchaseOrder_EP”进行比较,并将结果(true 或 false)推送到堆栈。 堆栈上现在有两个布尔值。

  5. 最后,使用布尔 运算比较堆栈上的两个布尔值,并将结果推送到堆栈上。 这会检查终结点与布尔值进行比较的结果,如果操作名称和协定调用点成功匹配,则为 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 中的操作