방법: 워크플로 응용 프로그램에서 서비스 액세스
이 항목은 Windows Workflow Foundation 4에 적용됩니다.
이 항목에서는 워크플로 콘솔 응용 프로그램에서 워크플로 서비스를 호출하는 방법에 대해 설명합니다. 이 방법은 방법: 메시징 작업을 사용하여 워크플로 서비스 만들기 항목에서 수행한 작업 결과에 따라 다릅니다. 이 항목에서는 워크플로 응용 프로그램에서 워크플로 서비스를 호출하는 방법에 대해 설명하지만 동일한 방법을 사용하여 워크플로 응용 프로그램에서 WCF(Windows Communication Foundation) 서비스를 호출할 수도 있습니다.
워크플로 콘솔 응용 프로그램 프로젝트 만들기
Visual Studio 2010을 시작합니다.
방법: 메시징 작업을 사용하여 워크플로 서비스 만들기 항목에서 만든 MyWFService 프로젝트를 로드합니다.
솔루션 탐색기에서 MyWFService 솔루션을 마우스 오른쪽 단추로 클릭하고 추가를 클릭한 다음 새 프로젝트를 선택합니다. 설치된 템플릿에서 워크플로를 선택하고 워크플로 형식 목록에서 워크플로 콘솔 응용 프로그램을 선택합니다. 다음 그림과 같이 프로젝트 이름을 MyWFClient로 지정하고 기본 위치를 사용합니다.
확인 단추를 클릭하여 새 프로젝트 추가 대화 상자 닫습니다.
프로젝트가 만들어진 후 디자이너에서 Workflow1.xaml 파일이 열립니다. 도구 상자가 아직 열려 있지 않으면 도구 상자 탭을 클릭하여 도구 상자를 열고 압정을 클릭하여 도구 상자 창을 열린 상태로 유지합니다.
Ctrl+F5를 눌러 서비스를 빌드하고 시작합니다. 이전과 마찬가지로 ASP.NET Development Server가 시작되고 Internet Explorer에 WCF 도움말 페이지가 표시됩니다. 이 페이지의 URI는 다음 단계에서도 사용됩니다.
솔루션 탐색기에서 MyWFClient 프로젝트를 마우스 오른쪽 단추로 클릭하고 서비스 참조 추가를 선택합니다. 검색 단추를 클릭하여 서비스에 대한 현재 솔루션을 검색합니다. 서비스 목록에서 Service1.xamlx 옆에 있는 삼각형을 클릭합니다. Service1 옆에 있는 삼각형을 클릭하여 Service1 서비스에 의해 구현되는 계약을 나열합니다. 서비스 목록에서 Service1 노드를 확장합니다. 다음 그림과 같이 작업 목록에 Echo 작업이 표시됩니다.
기본 네임스페이스를 유지하고 확인을 클릭하여 서비스 참조 추가 대화 상자를 닫습니다. 다음 대화 상자가 표시됩니다.
확인을 클릭하여 대화 상자를 닫습니다. 그럼 다음 F6 키를 눌러 솔루션을 빌드합니다. 도구 상자에 MyWFClient.ServiceReference1.Activities라는 새 섹션이 추가되었습니다. 다음 그림과 같이 이 섹션을 확장하고 추가된 Echo 작업을 확인합니다.
디자이너 화면으로 Sequence 작업을 끌어서 놓습니다. 이 작업은 도구 상자의 제어 흐름 섹션 아래에 있습니다.
Sequence 작업에 포커스가 있는 상태에서 변수 링크를 클릭하고 inString이라는 문자열 변수를 추가합니다. 다음 그림과 같이 이 변수에 기본값인 **“Hello, world”**를 지정하고 outString이라는 문자열 변수를 추가합니다.
Sequence로 Echo 작업을 끌어서 놓습니다. 속성 창에서 다음 그림과 같이 _string 인수를
inString
변수에 바인딩하고out_string
인수를 outString 변수에 바인딩합니다. 그러면inString
변수의 값이 작업에 전달되고 반환 값이outString
변수에 추가됩니다.Echo 작업 아래로 WriteLine 작업을 끌어서 놓아 서비스 호출에 의해 반환되는 문자열을 표시합니다. WriteLine 작업은 도구 상자의 기본 형식 노드에 있습니다. WriteLine 작업의 입력란에 outString을 입력하여 WriteLine 작업의 텍스트 인수를
outString
변수에 바인딩합니다. 그러면 워크플로가 다음 그림과 같이 표시됩니다.MyWFService 솔루션을 마우스 오른쪽 단추로 클릭하고 **시작 프로젝트 설정...**을 선택합니다. 다음 그림과 같이 여러 개의 시작 프로젝트 라디오 단추를 선택하고 동작 열의 각 프로젝트에 대해 시작을 선택합니다.
Ctrl+F5를 눌러 서비스와 클라이언트를 둘 다 시작합니다. ASP.NET Development Server에서 서비스가 호스팅되고, Internet Explorer에 WCF 도움말 페이지가 표시되며, 콘솔 창에서 클라이언트 워크플로 응용 프로그램이 시작되고 서비스에서 반환되는 문자열(“Hello, world”)이 표시됩니다.