2010-03-05 90 views
2

使用Visual Studio 2010 RC/.NET 4.0WCF工作流服務單一實例相關

我有一個WCF工作流服務與三個接收定義,基本上StartProcessing,StopProcessing和GetProcessingStatus活動。這是一個長時間運行的服務,一旦調用StartProcessing,就會繼續輪詢數據的外部服務,直到調用StopProcessing爲止。

我的問題是弄清楚如何使用關聯來確保所有調用服務的調用都調用工作流的同一個實例。我試圖避免要求任何類型的實例id被傳遞迴服務的後續調用。簡而言之,我希望將工作流程執行爲單例,並確保所有接收活動都在同一個實例上運行。我如何去做這件事?

回答

0

我認爲你想要的是不可能的,你需要關聯,WWF不知道如何執行它。如果收到兩個並行呼叫,他們將使用相同的對象,併產生意外的結果。

在wcf中,你可以在客戶端設置一個會話,或者你可以管理wcf對象的創建,但是在WWF中,我認爲你甚至沒有這個選項。

+0

你不可能想到內部關聯?相關性是否必須與請求中的數據相關聯?我試圖找出一種方法來初始化相關性到一些初始值,並關聯所有接收活動...但沒有任何運氣。 – BCarter 2010-03-05 16:09:25

+0

我認爲它必須在請求中,因爲它是在實例化工作流時,它現在必須從ddbb捕獲。 – 2010-03-05 23:29:18

1

例如,您可以關聯一個常量。例如,在查詢關聯中編輯XPath以返回數字1。