ContinuationToken
연속 토큰은 BAM 인프라 내에서 유형이 다른 정보의 상관 관계를 지정하는 데 사용됩니다. 다음 메시지 유형을 생성하는 비즈니스 프로세스를 예로 들어 보겠습니다.
구매 주문 번호로 식별되는 구매 주문
판매 주문 번호로 식별되는 판매 주문
배송 주문 번호로 식별되는 배송 주문
이 프로세스에는 구매 주문 ID, 판매 주문 ID 및 배송 주문 ID의 세 가지 중요한 식별자가 있습니다. 이러한 각 식별자는 원래 순서의 수명 동안 중요한 이벤트를 신호로 표시하지만 직접 상관 관계를 지정할 수는 없습니다. 구매 주문과 관련된 이벤트를 추적하려면 메시지 간의 공통적인 정보를 식별하는 것이 BAM 추적 인프라에서 이벤트의 상관 관계를 정확하게 지정하는 데 도움이 됩니다.
연속 토큰은 식 요소와 하나 이상의 연산으로 구성됩니다.
<ic:ContinuationToken>
<ic:Expression>
<!-- Operations -->
</ic:Expression>
</ic:ContinuationToken>
다음과 같은 일반적인 연산은 ContinuationToken 식에서 사용할 수 없습니다.
And
같음
[WF/WCF의 연산 섹션 헤더에는 필요에 따라 유사한 차트와 그 밖의 차트가 있어야 합니다.]
이 예제에서는 를 사용하여 GetWorkflowProperty
워크플로에서 WF 프로세스에 대한 연속 토큰을 검색합니다. 여기에서 개발자는 워크플로에서 연속을 지원하기 위해 사용자 지정 코드를 사용하기로 결정했는데, 이는 연속 토큰을 확인하는 프로세스가 서너 개 이상의 식을 포함하고 외부 데이터에 의존할 수 있기 때문일 수 있습니다.
<ic:ContinuationToken>
<ic:Expression>
<wf:Operation Name="GetWorkflowProperty">
<wf:Argument>ContinuationToken</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:ContinuationToken>
유사한 기능을 새 WF 또는 WCF 응용 프로그램에서 제공하도록 선택하거나, 식 연산을 사용하여 토큰을 쉽게 설정할 수 있는 경우 추가 코드를 작성하지 않을 수도 있습니다.
다음 예제에서는 XPath 작업을 사용하여 현재 메시지에서 크레딧 카드 번호를 검색하고 상수 및 연결 연산을 사용하여 검색된 번호에 문자열 "CID_"을 앞에 추가하여 WCF 프로세스에 대한 연속 토큰을 설정합니다.
<ic:ContinuationToken>
<ic:Expression>
<ic:Operation Name="Constant">
<ic:Argument>CID_</ic:Argument>
</ic:Operation>
<wcf:Operation Name="XPath">
<wcf:Argument>//Purchase/Payment/CreditCardNumber</wcf:Argument>
</wcf:Operation>
<ic:Operation Name="Concatenate" />
</ic:Expression>
</ic:ContinuationToken>