영어로 읽기

다음을 통해 공유


GetEndpointName

현재 가로채기 엔드포인트의 이름을 스택에 푸시합니다.

구문

  
<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 작업