ContinuationToken
接續 Token 是用來讓 BAM 基礎結構內的異質資訊相互關聯。 請參考建構下列類型訊息的商務程序:
由訂單編號識別的訂單
由銷售訂單編號識別的銷售訂單
由送貨單編號識別的送貨單
在此程式中,有三個重要的識別碼:採購單識別碼、銷售訂單識別碼和出貨訂單識別碼。 這三個識別碼每一個都表示原始訂單存留期間的一個重要事件,但是彼此之間無法直接關聯。 若要追蹤與訂單相關的事件,就必須識別訊息之間常見的資訊,以協助 BAM 追蹤基礎結構正確地將這些事件相互關聯。
接續 Token 是由運算式項目和一或多項運算所組成:
<ic:ContinuationToken>
<ic:Expression>
<!-- Operations -->
</ic:Expression>
</ic:ContinuationToken>
ContinuationToken 運算式中不允許執行下列常見的運算:
和
Equals
[WF/WCF 中「運算」章節的標頭應有類似的圖表和其他圖表 (如有需要)]
在此範例中,會使用 GetWorkflowProperty
從工作流程擷取 WF 進程的接續權杖。 在此,開發人員決定在工作流程中使用自訂程式碼支援接續,可能是因為判斷接續 Token 的程序涉及兩或三個以上的運算式,且可能倚賴外部資料。
<ic:ContinuationToken>
<ic:Expression>
<wf:Operation Name="GetWorkflowProperty">
<wf:Argument>ContinuationToken</wf:Argument>
</wf:Operation>
</ic:Expression>
</ic:ContinuationToken>
您可以選擇在新的 WF 或 WCF 應用程式中提供類似的功能,或者如果使用運算式作業建立 Token 十分容易,則可避免撰寫額外的程式碼。
下列範例會建立 WCF 程式的接續權杖,方法是使用 XPath 作業從目前的訊息擷取信用卡號碼,以及將字串 「CID_」 前面加上擷取號碼的 常數 和 串連 作業:
<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>