이 항목은 Windows Workflow Foundation 4에 적용됩니다.
이 샘플에서는 Windows WF(Workflow Foundation)에서 버퍼링된 수신 기능을 설정하고 구성하는 방법을 보여 줍니다. 버퍼링된 수신 기능을 사용하면 워크플로 작성자가 메시지의 수신 순서에 신경을 쓰지 않고 워크플로를 만들 수 있습니다. 버퍼링된 수신 기능은 메시지를 로컬로 버퍼링하고 워크플로에서 메시지를 받을 준비가 되었을 때 이를 전달하는 역할을 합니다.
데모
메시징 활동에 버퍼링된 수신 기능을 사용하여 순서에 상관없이 메시지 처리
![]() |
---|
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\WF_WCF_Samples
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive
|
추가 설명
이 샘플에서 WCF(Windows Communication Foundation) 서비스는 WF에 의해 구현되며 일련의 Receive 활동을 포함합니다. 이 워크플로는 간단한 대출 승인 프로세스를 모델링하며, 승인 여부를 결정해야 할 대출에 대한 알림 세 건을 받습니다. WCF(Windows Communication Foundation) 클라이언트 응용 프로그램은 서비스에서 예상하는 순서와는 반대로 대출 관련 알림 세 건을 보냅니다. 그러나 이 서비스에서는 버퍼링된 수신 기능을 사용하므로 순서가 맞지 않는 각 메시지를 버퍼링한 후 워크플로에서 해당 메시지를 받을 준비가 되었을 때 이를 처리합니다.
버퍼링된 수신 기능을 사용하려면 바인딩을 통해 ReceiveContent가 지원되어야 하므로 이 서비스에서는 NetMsmqBinding을 사용합니다. 이 바인딩에는 특별한 구성이 필요하지 않으므로 기본 설정이 사용됩니다.
<endpoint address ="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding"
contract="ILoanService"/>
이 서비스에서는 ServiceMetadataBehavior를 사용하여 서비스에 대한 메타데이터도 노출합니다.
마찬가지로, 클라이언트 끝점은 NetMsmqBinding을 사용하여 구성됩니다. 클라이언트 코드와 구성을 생성하는 데는 Visual Studio의 서비스 참조 추가 기능이 사용됩니다. 다음 예제에서는 App.config 파일에 생성된 클라이언트 끝점을 보여 줍니다.
<endpoint address="net.msmq://localhost/private/LoanService/Service1.xamlx"
binding="netMsmqBinding" bindingConfiguration="NetMsmqBinding_ILoanService"
contract="ServiceReference1.ILoanService" name="NetMsmqBinding_ILoanService" />
이 샘플에는 다음과 같은 Windows 구성 요소를 사용해야 합니다.
IIS(Internet Information Services) 6.0
IIS(Internet Information Services) 6.0 관리 호환성, 메타베이스 및 구성 호환성
World Wide Web 서비스, 응용 프로그램 개발 기능 및 ASP.NET
MSMQ(Microsoft Message Queue) Server
샘플을 설치하고 빌드하려면
Visual Studio 2010 명령 프롬프트에서
aspnet_regiis –I
을 입력하여 ASP.NET을 등록하고 Enter 키를 누릅니다.관리자 권한으로 Visual Studio 2010을 실행합니다.
LoanService.sln을 엽니다.
LoanService 프로젝트에 대한 가상 디렉터리를 만들지 묻는 메시지가 나타나면 예를 선택합니다.
서비스 큐를 설정하려면
F5 키를 눌러 LoanClient 응용 프로그램을 실행합니다. 이 응용 프로그램은 큐를 만들고 Service1.xamlx에 정의되어 있는 서비스를 활성화하는 역할을 합니다.
명령 프롬프트에서 Compmgmt.msc를 실행하여 컴퓨터 관리 콘솔을 엽니다.
컴퓨터 관리 콘솔에서 서비스, 응용 프로그램, 메시지 큐, 개인 큐를 차례로 확장합니다.
loanservice/service1.xamlx 큐를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
보안 탭을 선택하고 누구나 메시지 받기, 메시지 보기 및 메시지 보내기 권한을 추가합니다.
IIS(Internet Information Services) 6.0 관리자를 엽니다.
서버, 사이트, 기본 웹 사이트, 개인, LoanService로 이동하여 고급 옵션을 선택합니다.
사용할 수 있는 프로토콜을 http, net.msmq로 변경합니다.
샘플을 실행하려면
https://localhost/private/loanservice/service1.xamlx로 이동하여 서비스가 실행되고 있는지 확인합니다.
F5 키를 눌러 LoanClient 응용 프로그램을 실행합니다. 워크플로를 완료하면 메시지 교환 결과가 포함된 out.txt 파일이 C:\Inbox에 저장됩니다.
정리하려면
명령 프롬프트에서 Compmgmt.msc를 실행하여 컴퓨터 관리 콘솔을 엽니다.
서비스 및 응용 프로그램, 메시지 큐, 개인 큐를 확장합니다.
loanservice/service1.xamlx 큐를 삭제합니다.
C:\Inbox 디렉터리를 제거합니다.
![]() |
---|
컴퓨터에 이 샘플이 이미 설치되어 있을 수도 있습니다. 계속하기 전에 다음(기본) 디렉터리를 확인하십시오.
<InstallDrive>:\WF_WCF_Samples
이 디렉터리가 없으면 Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4로 이동하여 WCF(Windows Communication Foundation) 및 WF 샘플을 모두 다운로드하십시오. 이 샘플은 다음 디렉터리에 있습니다.
<InstallDrive>:\WF_WCF_Samples\WF\Basic\Services\BufferedReceive
|