LINQ 메시지 쿼리 상관 관계
LinqMessageQueryCorrelation 샘플에서는 시스템에서 제공하는 XPathMessageQuery 대신 사용자 지정 MessageQuery 구현을 사용하여 내용 기반 상관 관계를 만드는 방법을 보여 줍니다.
시연
사용자 지정 MessageQuery, 내용 기반 상관 관계
토론(Discussion)
이 샘플에서는 상관 관계를 만들기 위해 MessageQuery 기본 클래스를 확장하는 방법을 보여 줍니다. 사용자 지정 LinqMessageQuery
를 구현하면 XLinq를 사용하여 메시지 내에서 XName을 찾을 수 있습니다. 쿼리를 통해 검색한 데이터는 메시지를 적절한 워크플로 인스턴스로 디스패치하기 위한 상관 관계 키를 만드는 데 사용됩니다.
샘플을 설치, 빌드 및 실행하려면
이 샘플에서는 HTTP 엔드포인트를 사용하여 워크플로 서비스를 노출합니다. 이 샘플을 실행하려면 관리자 권한으로 Visual Studio를 실행하거나 고급 명령 프롬프트에서 다음 명령을 실행하여 적절한 ACL을 추가함으로써 적절한 URL ACL을 추가해야 합니다(자세한 내용은 HTTP 및 HTTPS 구성 참조). 도메인과 사용자 이름이 대체되었는지 확인합니다.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
URL ACL이 추가되었으면 다음 단계를 사용합니다.
솔루션을 빌드합니다.
솔루션을 마우스 오른쪽 단추로 클릭하고 시작 프로젝트 설정을 선택하여 여러 시작 프로젝트를 설정합니다. 서비스와 클라이언트를 차례로 여러 시작 프로젝트로 추가합니다.
애플리케이션을 실행합니다. 주문서를 보내고 구매 주문서 ID를 받은 다음, 주문을 확인하는 워크플로가 클라이언트 콘솔에 표시됩니다. 처리 중인 요청이 서비스 창에 표시됩니다.
.NET