다음을 통해 공유


바인딩을 사용하여 서비스 및 클라이언트 구성

바인딩은 엔드포인트에 연결하는 데 필요한 통신 세부 정보를 지정하는 개체입니다. 보다 구체적으로, 바인딩에는 전송, 유선 형식(메시지 인코딩) 및 각 엔드포인트 또는 클라이언트 채널에 사용할 프로토콜의 세부 사항을 정의하여 클라이언트 또는 서비스 런타임을 만드는 데 사용되는 구성 정보가 포함되어 있습니다. 작동하는 WCF(Windows Communication Foundation) 서비스를 만들려면 서비스의 각 엔드포인트에 바인딩이 필요합니다. 이 항목에서는 바인딩이 무엇인지, 바인딩이 정의되는 방식 및 엔드포인트에 대해 특정 바인딩을 지정하는 방법에 대해 설명합니다.

바인딩이 정의하는 내용

바인딩의 정보는 매우 기본적이거나 매우 복잡할 수 있습니다. 가장 기본적인 바인딩은 엔드포인트에 연결하는 데 사용해야 하는 전송 프로토콜(예: HTTP)만 지정합니다. 일반적으로 바인딩에 엔드포인트에 연결하는 방법에 대한 정보가 포함된 정보는 다음 표의 범주 중 하나에 속합니다.

프로토콜
신뢰할 수 있는 메시징 기능 또는 트랜잭션 컨텍스트 흐름 설정 중에서 사용 중인 보안 메커니즘을 결정합니다.

운송
사용할 기본 전송 프로토콜(예: TCP 또는 HTTP)을 결정합니다.

인코딩
메시지 인코딩(예: 텍스트/XML, 이진 또는 MTOM(메시지 전송 최적화 메커니즘)을 결정합니다. 이 메커니즘은 메시지가 와이어에서 바이트 스트림으로 표시되는 방식을 결정합니다.

System-Provided 바인딩

WCF에는 대부분의 애플리케이션 요구 사항 및 시나리오를 포함하도록 설계된 시스템 제공 바인딩 집합이 포함되어 있습니다. 다음 클래스는 시스템 제공 바인딩의 몇 가지 예를 나타냅니다.

  • BasicHttpBinding: WS-I Basic Profile 1.1 사양을 준수하는 웹 서비스에 연결하는 데 적합한 HTTP 프로토콜 바인딩입니다(예: 웹 서비스 [ASMX] 기반 서비스 ASP.NET).

  • WSHttpBinding: 웹 서비스 사양 프로토콜을 준수하는 엔드포인트에 연결하는 데 적합한 HTTP 프로토콜 바인딩입니다.

  • NetNamedPipeBinding: .NET 이진 인코딩 및 프레이밍 기술을 Windows 명명된 파이프 전송과 함께 사용하여 동일한 컴퓨터의 다른 WCF 엔드포인트에 연결합니다.

  • NetMsmqBinding: 메시지 큐(MSMQ라고도 함)와 함께 .NET 이진 인코딩 및 프레이밍 기술을 사용하여 다른 WCF 엔드포인트와 큐에 대기 중인 메시지 연결을 만듭니다.

설명이 포함된 시스템 제공 바인딩의 전체 목록은 System-Provided 바인딩을 참조하세요.

사용자 지정 바인딩

시스템 제공 바인딩 컬렉션에 서비스 애플리케이션에 필요한 기능의 올바른 조합이 없는 경우 바인딩을 CustomBinding 만들 수 있습니다. 바인딩의 CustomBinding 요소에 대한 자세한 내용은 customBinding< 및 사용자 지정 바인딩을 참조>하세요.

바인딩 사용

바인딩을 사용하려면 다음 두 가지 기본 단계가 수반됩니다.

  1. 바인딩을 선택하거나 정의합니다. 가장 쉬운 방법은 시스템 제공 바인딩 중 하나를 선택하고 기본 설정을 사용하는 것입니다. 시스템 제공 바인딩을 선택하고 요구 사항에 맞게 해당 속성 값을 다시 설정할 수도 있습니다. 또는 사용자 지정 바인딩을 만들고 필요에 따라 모든 속성을 설정할 수 있습니다.

  2. 이 바인딩을 사용하는 엔드포인트를 만듭니다.

코드 및 구성

코드 또는 구성을 통해 바인딩을 정의하거나 구성할 수 있습니다. 이러한 두 방법은 시스템 제공 또는 CustomBinding 바인딩을 사용하는 경우와 같이 사용되는 바인딩 형식과 독립적입니다. 일반적으로 코드를 사용하면 컴파일할 때 바인딩의 정의를 완벽하게 제어할 수 있습니다. 반면에 구성을 사용하면 시스템 관리자 또는 WCF 서비스 또는 클라이언트 사용자가 바인딩의 매개 변수를 변경할 수 있습니다. WCF 애플리케이션을 배포할 특정 머신 요구 사항 및 네트워크 조건을 예측할 방법이 없기 때문에 이러한 유연성이 바람직한 경우가 많습니다. 코드에서 바인딩(및 주소 지정) 정보를 분리하면 관리자가 애플리케이션을 다시 컴파일하거나 다시 배포하지 않고도 바인딩 세부 정보를 변경할 수 있습니다. 바인딩이 코드에 정의된 경우 구성 파일에서 만든 구성 기반 정의를 덮어씁니다. 이러한 방법의 예제는 다음 항목을 참조하세요.

참고하십시오