다음을 통해 공유


방법: 기본 Windows Communication Foundation 클라이언트 구성

이 작업은 기본 WCF(Windows Communication Foundation) 서비스와 이 서비스를 호출할 수 있는 클라이언트를 만드는 데 필요한 6가지 작업 중 다섯 번째입니다. 6가지 작업의 개요를 모두 보려면 초보자를 위한 자습서 항목을 참조하십시오.

이 항목에서는 ServiceModel Metadata 유틸리티 도구(Svcutil.exe)를 사용하여 생성된 클라이언트 구성 파일을 클라이언트 프로젝트에 추가하고 클라이언트 구성 요소의 내용을 자세히 설명합니다. 클라이언트를 구성하려면 클라이언트에서 서비스에 액세스하는 데 사용하는 끝점을 지정해야 합니다. 끝점에는 주소, 바인딩 및 계약이 포함되어 있으며 이러한 각 항목은 클라이언트 구성 프로세스에서 지정되어야 합니다.

클라이언트에 대해 생성된 구성 파일의 컨텐츠는 해당 절차 이후의 예제에서 제공됩니다.

Windows Communication Foundation 클라이언트를 구성하려면

  1. 이전 방법: Windows Communication Foundation 클라이언트 만들기 절차에서 생성된 App.config 구성 파일을 Visual Studio의 클라이언트 프로젝트에 추가합니다. 솔루션 탐색기에서 클라이언트 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 선택한 다음 기존 항목을 선택합니다. 그런 다음 이전 단계에서 SvcUtil.exe를 실행했던 디렉터리에서 App.config 구성 파일을 선택합니다. Svcutil.exe 도구를 사용하여 생성할 때 /config:app.config 스위치를 사용했기 때문에 이 구성 파일의 이름은 App.config 파일로 지정됩니다. 확인을 클릭합니다. 기본적으로 기존 항목 추가 대화 상자에서는 .config 확장명을 가진 파일을 모두 필터링합니다. 이러한 파일을 표시하려면 기존 항목 추가 대화 상자의 오른쪽 아래에 있는 드롭다운 목록 상자에서 **모든 파일(*.*)**을 선택합니다.

  2. 생성된 구성 파일을 엽니다. Svcutil.exe는 바인딩에 대한 모든 설정 값을 생성합니다. 다음 예제에서는 생성된 구성 파일을 보여 줍니다. <system.serviceModel><endpoint> 섹션 아래에서 요소를 찾습니다. 다음 구성 파일은 생성된 파일의 단순화된 버전입니다.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.serviceModel>
        <bindings>
          <wsHttpBinding>
            <binding name="WSHttpBinding_ICalculator">
            </binding>
          </wsHttpBinding>
        </bindings>
        <client>
          <endpoint
               address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
               binding="wsHttpBinding"
               bindingConfiguration="WSHttpBinding_ICalculator"
               contract="Microsoft.ServiceModel.Samples.ICalculator"
               name="WSHttpBinding_ICalculator">
          </endpoint>
        </client>
      </system.serviceModel>
    </configuration> 
    

    이 예제에서는 다음 주소에 위치한 서비스에 액세스하도록 클라이언트가 사용하는 끝점을 구성합니다. https://localhost:8000/ServiceModelSamples/service

    끝점 요소는 Microsoft.ServiceModel.Samples.ICalculator 계약이 시스템 제공 WsHttpBinding을 통해 구성된 통신에 사용되도록 지정합니다. 이 바인딩은 HTTP를 전송, 상호 운용 가능한 보안 및 기타 구성 세부 사항으로 지정합니다.

  3. 이 구성을 통해 생성한 클라이언트를 사용하는 방법에 대한 자세한 내용은 방법: Windows Communication Foundation 클라이언트 사용을 참조하십시오.

예제

이 예제에서는 클라이언트에 대해 생성된 구성 파일의 컨텐츠를 보여 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_ICalculator"     
          closeTimeout="00:01:00"
          openTimeout="00:01:00" 
          receiveTimeout="00:10:00" 
          sendTimeout="00:01:00"
          bypassProxyOnLocal="false" 
          transactionFlow="false"  
          hostNameComparisonMode="StrongWildcard"
          maxBufferPoolSize="524288" 
          maxReceivedMessageSize="65536"
          messageEncoding="Text" 
          textEncoding="utf-8" 
          useDefaultWebProxy="true"
          allowCookies="false">
          <readerQuotas maxDepth="32" 
            maxStringContentLength="8192" 
            maxArrayLength="16384"
            maxBytesPerRead="4096" 
            maxNameTableCharCount="16384" />
          <reliableSession ordered="true" 
            inactivityTimeout="00:10:00"
            enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" 
              proxyCredentialType="None"
              realm="" />
            <message clientCredentialType="Windows" 
              negotiateServiceCredential="true"
              algorithmSuite="Default" 
              establishSecurityContext="true" />
           </security>
      </binding>
    </wsHttpBinding>
  </bindings>
  <client>
    <endpoint address="https://localhost:8000/ServiceModelSamples/Service/CalculatorService"
      binding="wsHttpBinding" 
      bindingConfiguration="WSHttpBinding_ICalculator"
      contract="ICalculator" 
      name="WSHttpBinding_ICalculator">
        <identity>
          <userPrincipalName value="user@contoso.com" />
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>
</configuration>

클라이언트가 구성되었습니다. 방법: Windows Communication Foundation 클라이언트 사용로 진행합니다. 문제 해결 정보에 대한 자세한 내용은 초보자를 위한 자습서 문제 해결을 참조하십시오.

참고 항목

작업

방법: Windows Communication Foundation 클라이언트 만들기
Getting Started 샘플
Self-Host

개념

바인딩을 사용하여 서비스 및 클라이언트 구성
ServiceModel Metadata 유틸리티 도구(Svcutil.exe)