GetEndpointName
Überträgt den Namen des aktuellen Abfangsendpunkt per PUSH in den Stapel.
<wcf:Operation Name="GetEndpointName" />
Keine.
Zeichenfolge, die den Namen des aktuellen Abfangsendpunkts enthält.
Wichtig ist der Hinweis, dass die Client- und Serveranwendungen unterschiedliche Namen für denselben in den Dateien vom Typ App.config angegebenen Endpunktnamen zurückgeben.
Bei Clientanwendungen ist der vom Vorgang GetEndPointName abgerufene Endpunktname der Bindungsname gefolgt von einem Unterstrich und dem Vertragsnamen.
Wenn beispielsweise die Name-Eigenschaft für ServiceEndpoint nicht festgelegt ist, aber die Bindung festgelegt ist, wird der Name auf <binding>_<contract> festgelegt.
Wenn der Name und die Bindung nicht festgelegt sind, wird die Name-Eigenschaft auf <contract> festgelegt.
Für den Dienst ist der abgerufene Name der Endpunktname, der in der Datei App.config angegeben ist.
Der folgende Beispielfilterausdruck definiert einen Abfang für den Receive-Vorgang des ServiceRequest-Vertragsaufrufpunkts für den PurchaseOrder_EP-Endpunkt. Dies erfolgt in den folgenden logischen Schritten:
Vergleichen des aktuellen Vorgangsnamen mit „Receive“ und Übertragen des Ergebnisses (wahr oder falsch) in den Stapel.
Vergleichen des aktuellen Dienstvertrags-Aufrufpunkts mit „ServiceRequest“ und Übertragen des Ergebnisses (wahr oder falsch) in den Stapel. Im Stapel befinden sich nun zwei boolesche Werte.
Vergleichen Sie die Ergebnisse der vorherigen Schritte mithilfe eines booleschen Und-Vorgangs , und pushen Sie das Ergebnis auf den Stapel. Dadurch verbleibt ein boolescher Wert im Stapel.
Vergleichen des aktuellen Endpunkts mit „PurchaseOrder_EP“ und Übertragen des Ergebnisses (wahr oder falsch) in den Stapel. Im Stapel befinden sich nun zwei boolesche Werte.
Vergleichen Sie abschließend die beiden booleschen Werte auf dem Stapel mithilfe eines booleschen And-Vorgangs , und pushen Sie das Ergebnis auf den Stapel. Hierbei wird das Ergebnis des Endpunktvergleichs mit einem booleschen Wert überprüft, das wahr ist, wenn der Vorgangsname und Vertragsaufrufspunkt erfolgreich abgeglichen werden, und ansonsten falsch ist.
<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>