다음을 통해 공유


작업 3: 영속 서비스 클라이언트 만들기

이 작업에서는 영속 서비스에서 작업을 호출하기 위해 간단한 클라이언트를 만듭니다. 테스트 도구 WcfTestClient.exe는 WCF 서비스 라이브러리 템플릿에서 사용됩니다.

클라이언트 만들기

  1. 솔루션 탐색기 창에서 SimpleDurableService 솔루션의 솔루션 노드를 마우스 오른쪽 단추로 클릭합니다.

  2. 추가로 이동하고 프로젝트를 선택합니다.

  3. 새 프로젝트 대화 상자의 Windows 아래에서 콘솔 응용 프로그램을 선택합니다.

  4. 프로젝트의 이름을 DurableServiceTestClient로 지정하고 확인을 클릭합니다.

  5. DurableServiceTestClient 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 참조 추가를 선택합니다.

  6. 참조 추가 대화 상자의 .NET 탭에서 System.ServiceModel 어셈블리를 선택하고 확인을 클릭합니다.

  7. 다음 using 문을 C# 소스 파일에 추가합니다.

Visual Basic 솔루션을 만든 경우 DurableServiceTestClient 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 참조 탭을 선택하고 가져온 네임스페이스 아래에서 System.ServiceModel을 선택합니다.

  1. SvcUtil.exe를 사용하여 영속 서비스에 대한 프록시 코드와 구성 파일을 생성합니다.
    SvcUtil.exe 사용
    SvcUtil.exe를 사용하려면 ServiceModel Metadata Utility Tool를 참조하십시오.
    프록시 코드와 구성 파일을 생성한 후 다음을 수행하여 해당 파일을 DurableServiceTestClient 프로젝트에 추가합니다.
    1. 솔루션 탐색기 창으로 이동합니다.
    2. DurableServiceTestClient 프로젝트 노드를 마우스 오른쪽 단추로 클릭합니다.
    3. 추가를 강조 표시하고 기존 항목을 선택합니다.
    4. SvcUtil.exe에서 구성 및 프록시 코드 파일을 생성한 폴더로 이동합니다.
    5. 파일을 선택하고 확인을 클릭합니다.
    6. 구성 파일의 이름이 App.config가 아니면 App.config로 바꿉니다.
  2. Main 메서드 구현에 다음 코드를 추가합니다.

영속 서비스 클라이언트를 만드는 방법은 일반적인 WCF 서비스 클라이언트의 경우와 같습니다. 서비스의 프록시 코드를 기반으로 클라이언트의 새 인스턴스가 생성됩니다. 다음으로 Open을 호출하고 서비스 작업을 호출합니다. 마지막으로 Close를 호출하여 클라이언트를 종료합니다.

  1. SimpleDurableService 솔루션의 영속 서비스와 함께 클라이언트를 사용하려면 SimpleDurableService 프로젝트 속성에서 명령줄 인수를 삭제해야 합니다. 이렇게 하려면 다음 단계를 수행하십시오.

    1. SimpleDurableService 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
    2. 디버그 탭을 선택하고 시작 옵션 아래의 세부 정보 창에 있는 텍스트 상자에서 /client:"WfcTestClient.exe"를 제거합니다.
  2. SimpleDurableService 솔루션 노드를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  3. 속성 페이지 대화 상자에서 여러 개의 시작 프로젝트를 선택합니다.

  4. SimpleDurableService가 목록의 맨 위 항목으로 표시되지 않으면 목록 상자 측면의 화살표를 사용하여 맨 위 항목으로 만듭니다. 이 작업은 클라이언트 응용 프로그램이 서비스에서 작업을 호출하려고 하기 전에 서비스의 실행이 시작되도록 하는 데 필요합니다.

  5. 목록에 있는 각 프로젝트의 동작을 없음에서 시작으로 변경합니다.

  6. 적용, 확인을 차례로 클릭합니다.

  7. 서비스와 클라이언트 프로젝트를 모두 빌드합니다. 영속 서비스를 IIS, Windows 응용 프로그램 또는 기타 호스트 프로세스에서 호스팅할 수 있지만 이 자습서에서는 WfcSvcHost.exe에서 호스팅합니다. WcfSvcHost.exe는 테스트 목적으로 서비스를 호스팅하는 개발자 도구입니다.
    클라이언트의 명령줄 인터페이스에 다음과 같은 출력이 나타나야 합니다.

    The current value is 3
    The current value is -1
    The current value is -5
    Press <ENTER> to shut down the client.
    

    EndPersistence를 제외한 각 작업 후 지속이 수행되는지 확인하려면 Microsoft SQL Server Management Studio Express(https://www.microsoft.com/downloads)를 설치하고 클라이언트 응용 프로그램에 디버그 지점을 설정합니다. 이러한 지점에 도달한 후 NetFx35Samples_DurableServiceStore 데이터베이스의 InstanceData 테이블을 확인합니다. 이 테이블에 새 항목이 추가되어야 하고, EndPersistence 호출이 완료될 때까지 각 작업 후 항목이 업데이트되어야 합니다. EndPersistence 호출이 완료되면 테이블 항목이 제거됩니다.
    영속 서비스의 값을 확인하는 또 다른 방법으로 클라이언트에서 처음으로 서비스의 작업을 호출하고 Visual Studio에서 작업 호출에 중단점을 배치할 수 있습니다. 세 번째 작업 호출을 실행하기 전에 서비스를 종료하고 다시 시작합니다. 그런 다음 작업을 호출합니다. 이제 서비스의 상태가 유지 데이터베이스에서 복원되고 서비스에서 현재 값에 맞는 응답을 다시 제공합니다.

참고 항목

작업

작업 1: 영속 서비스 계약 정의 및 구현
작업 2: 영속 서비스의 지속성 사용

기타 리소스

자습서: 영속 서비스 만들기

Copyright © 2007 by Microsoft Corporation. All rights reserved.