Compartir a través de


GetEndpointName (operación)

Inserta el nombre del extremo de interceptación actual en la pila.

Sintaxis

  
<wcf:Operation Name="GetEndpointName" />  

Parámetros

Ninguno.

Valor insertado

Cadena que contiene el nombre del extremo de interceptación actual.

Comentarios

Resulta importante tener en cuenta que las aplicaciones cliente y servidor devolverán nombres distintos para el mismo nombre de extremo especificado en los archivos App.config.

En el caso de las aplicaciones cliente, el nombre del extremo recuperado por la operación GetEndPointName será el nombre del enlace seguido por un guión bajo y el nombre del contrato.

Por ejemplo, si no se establece la propiedad Name en ServiceEndpoint, pero el enlace está establecido, el nombre se establecerá en <binding>_<contract>.

Si no se establece el nombre y el enlace, la propiedad Name se establecerá en <contract>.

En el caso del servicio, el nombre recuperado será el nombre del extremo especificado en el archivo App.config.

Ejemplo

La expresión de filtro de ejemplo siguiente define una interceptación para la operación Receive correspondiente al punto de llamada de contrato ServiceRequest para el extremo PurchaseOrder_EP. Se lleva a cabo mediante los pasos lógicos siguientes:

  1. Compare el nombre de la operación actual con "Receive" e inserte el resultado (True o False) en la pila.

  2. Compare el punto de llamada de contrato de servicio con "ServiceRequest" e inserte el resultado (True o False) en la pila. Ahora hay dos valores booleanos en la pila.

  3. Compare los resultados de los pasos anteriores mediante una operación Boolean And e inserte el resultado en la pila. Esto deja un valor booleano en la pila.

  4. Compare el extremo actual con "PurchaseOrder_EP" e inserte el resultado (True o False) en la pila. Ahora hay dos valores booleanos en la pila.

  5. Por último, compare los dos valores booleanos de la pila mediante una operación Boolean And e inserte el resultado en la pila. De este modo, se comprueba el resultado de la comparación del extremo con un valor booleano, cuyo valor es True si el nombre de la operación y el punto de llamada de contrato coinciden correctamente y que, en caso contrario, será 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>  

Consulte también

Operaciones en Windows Communication Foundation