다음을 통해 공유


엔드포인트: 주소, 바인딩 및 계약

WCF(Windows Communication Foundation) 서비스와의 모든 통신은 서비스의 엔드포인트를 통해 발생합니다. 엔드포인트는 WCF 서비스에서 제공하는 기능에 대한 액세스 권한을 클라이언트에 제공합니다.

각 엔드포인트는 다음 네 가지 속성으로 구성됩니다.

  • 엔드포인트를 찾을 수 있는 위치를 나타내는 주소입니다.

  • 클라이언트가 엔드포인트와 통신하는 방법을 지정하는 바인딩입니다.

  • 사용 가능한 작업을 식별하는 계약입니다.

  • 엔드포인트의 로컬 구현 세부 정보를 지정하는 동작 집합입니다.

이 항목에서는 이 엔드포인트 구조에 대해 설명하고 WCF 개체 모델에 표시되는 방법을 설명합니다.

엔드포인트의 구조

각 엔드포인트는 다음으로 구성됩니다.

  • 주소: 주소는 엔드포인트를 고유하게 식별하고 서비스의 잠재적 소비자에게 엔드포인트가 있는 위치를 알려줍니다. 클래스에 의해 EndpointAddress WCF 개체 모델에 표시됩니다. 클래스에는 EndpointAddress 다음이 포함됩니다.

    • Uri 서비스의 주소를 나타내는 속성입니다.

    • Identity 서비스의 보안 ID와 선택적 메시지 헤더 컬렉션을 나타내는 속성입니다. 선택적 메시지 헤더는 엔드포인트를 식별하거나 상호 작용하는 추가적이고 자세한 주소 지정 정보를 제공하는 데 사용됩니다.

    자세한 내용은 엔드포인트 주소 지정을 참조하세요.

  • 바인딩: 바인딩은 엔드포인트와 통신하는 방법을 지정합니다. 여기에는 다음이 포함됩니다.

    • 사용할 전송 프로토콜(예: TCP 또는 HTTP)입니다.

    • 메시지에 사용할 인코딩입니다(예: 텍스트 또는 이진).

    • 필요한 보안 요구 사항(예: SSL 또는 SOAP 메시지 보안).

    자세한 내용은 WCF 바인딩 개요를 참조하세요. 바인딩은 추상 기본 클래스 Binding에 의해 WCF 개체 모델에 표시됩니다. 대부분의 시나리오에서 사용자는 시스템 제공 바인딩 중 하나를 사용할 수 있습니다. 자세한 내용은 System-Provided 바인딩을 참조하세요.

  • 계약: 계약은 엔드포인트가 클라이언트에 노출하는 기능을 간략하게 설명합니다. 계약은 다음을 지정합니다.

    • 클라이언트가 호출할 수 있는 작업은 무엇인가요?

    • 메시지의 형식입니다.

    • 작업을 호출하는 데 필요한 입력 매개 변수 또는 데이터의 형식입니다.

    • 클라이언트가 예상할 수 있는 처리 또는 응답 메시지 유형입니다.

    계약 정의에 대한 자세한 내용은 서비스 계약 디자인을 참조하세요.

  • 동작: 엔드포인트 동작을 사용하여 서비스 엔드포인트의 로컬 동작을 사용자 지정할 수 있습니다. 엔드포인트 동작은 WCF 런타임 빌드 프로세스에 참여하여 이를 달성합니다. 엔드포인트 동작 ListenUri 의 예로 SOAP 또는 WSDL(Web Services Description Language) 주소와 다른 수신 대기 주소를 지정할 수 있는 속성이 있습니다. 자세한 내용은 ClientViaBehavior를 참조하세요.

엔드포인트 정의

명령적으로 코드를 사용하거나 구성을 통해 선언적으로 서비스에 대한 엔드포인트를 지정할 수 있습니다. 자세한 내용은 방법: 구성에서 서비스 엔드포인트 만들기방법: 코드에서 서비스 엔드포인트 만들기를 참조하세요.

이 섹션 안에

이 섹션에서는 바인딩, 엔드포인트 및 주소의 용도를 설명하고, 바인딩과 엔드포인트를 구성하는 방법을 보여주며, ClientVia 동작과 ListenUri 속성을 사용하는 방법을 시연합니다.

주소
WCF에서 엔드포인트의 주소를 지정하는 방법을 설명합니다.

바인딩
바인딩을 사용하여 클라이언트와 서비스가 서로 통신하는 데 필요한 전송, 인코딩 및 프로토콜 세부 정보를 지정하는 방법을 설명합니다.

계약
계약이 서비스의 메서드를 정의하는 방법을 설명합니다.

방법: 구성에서 서비스 엔드포인트 만들기
구성에서 서비스 엔드포인트를 만드는 방법을 설명합니다.

방법: 코드에서 서비스 엔드포인트 만들기
코드에서 서비스 엔드포인트를 만드는 방법을 설명합니다.

방법: Svcutil.exe 사용하여 컴파일된 서비스 코드 유효성 검사
ServiceModel 메타데이터 유틸리티 도구(Svcutil.exe)를 사용하여 서비스를 호스팅하지 않고 서비스 구현 및 구성에서 오류를 검색하는 방법을 설명합니다.

참고하십시오