다음을 통해 공유


LINQ 메시지 쿼리 상관 관계

LinqMessageQueryCorrelation 샘플은 시스템 제공MessageQuery이 아닌 사용자 지정 XPathMessageQuery 구현을 사용하여 콘텐츠 기반 상관 관계를 수행하는 방법을 보여 줍니다.

입증합니다

사용자 지정 MessageQuery, 콘텐츠 기반 상관 관계입니다.

토론

이 샘플에서는 상관 관계를 위해 기본 클래스에서 MessageQuery 확장하는 방법을 보여줍니다. 사용자 지정 구현을 LinqMessageQuery사용하면 사용자가 XLinq를 사용하여 메시지 내에서 찾을 수 있는 XName을 제공할 수 있습니다. 쿼리에서 검색된 데이터는 상관 관계 키를 형성하여 메시지를 적절한 워크플로 인스턴스로 디스패치하는 데 사용됩니다.

샘플을 설정, 빌드 및 실행하려면

  1. 이 샘플에서는 HTTP 엔드포인트를 사용하여 워크플로 서비스를 노출합니다. 이 샘플을 실행하려면 관리자 권한으로 Visual Studio를 실행하거나 관리자 권한 프롬프트에서 다음 명령을 실행하여 적절한 ACL을 추가하여 적절한 URL ACL을 추가해야 합니다(자세한 내용은 HTTP 및 HTTPS 구성 참조). 도메인 및 사용자 이름이 대체되었는지 확인합니다.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. URL ACL이 추가되면 다음 단계를 사용합니다.

    1. 솔루션을 빌드합니다.

    2. 솔루션을 마우스 오른쪽 단추로 클릭하고 시작 프로젝트 설정을 선택하여 여러 시작 프로젝트를 설정합니다. 서비스클라이언트를 여러 시작 프로젝트로 추가합니다(해당 순서대로).

    3. 애플리케이션을 실행합니다. 클라이언트 콘솔에는 주문을 보내고 구매 주문 ID를 받은 다음, 주문을 확인하는 워크플로가 표시됩니다. 서비스 창에 처리 중인 요청이 표시됩니다.