GetEndpointName
Transmet le nom du point de terminaison d'interception en cours sur la pile.
<wcf:Operation Name="GetEndpointName" />
Aucun.
Chaîne contenant le nom du point de terminaison d'interception en cours.
Il est important de noter que les applications client et serveur renvoient des noms différents pour le point de terminaison spécifié dans les fichiers App.config.
Pour les applications clientes, le nom du point de terminaison extrait par l'opération GetEndPointName est au format suivant : nom de liaison, suivi d'un trait de soulignement et du nom du contrat.
Par exemple, si la propriété Name sur ServiceEndpoint n’est pas définie, mais que la liaison est définie, le nom est défini sur <binding>_<contract>.
Si le nom et la liaison ne sont pas définis, la propriété Name est définie sur <contract>.
Pour le service, le nom extrait correspond au nom du point de terminaison spécifié dans le fichier App.config.
L'exemple d'expression de filtre suivante définit une interception pour l'opération Réception pour le point d'appel de contrat ServiceRequest du point de terminaison PurchaseOrder_EP. La procédure à suivre est la suivante :
Comparez le nom de l'opération en cours à « Réception » et transmettez le résultat (True ou False) sur la pile.
Comparez le point d'appel de contrat de service en cours à « ServiceRequest » et transmettez le résultat (True ou False) sur la pile. La pile inclut désormais deux valeurs booléennes.
Comparez les résultats des étapes précédentes à l’aide d’une opération Boolean And et envoyez le résultat sur la pile. La pile n'inclut désormais qu'une valeur booléenne.
Comparez le point de terminaison en cours à « PurchaseOrder_EP » et transmettez le résultat (True ou False) sur la pile. La pile inclut désormais deux valeurs booléennes.
Enfin, comparez les deux valeurs booléennes sur la pile à l’aide d’une opération Boolean And et poussez le résultat sur la pile. Ces opérations permettent de vérifier le résultat de la comparaison du point de terminaison par rapport à une valeur booléenne : True si le nom de l'opération et le point d'appel de contrat correspondent, False dans le cas contraire.
<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>