2010-01-27 44 views
3

這是關於工作流基礎(.NET 3.5)版本,它的工作原理與數據的一般問題。我們有很多的一些數據工作的自定義活動,這個數據可能是有趣還爲已經完成的工作流的未來分析(前提是我們在它存儲在一個序列化的形式這樣的方式配置跟蹤)。什麼是工作流中的版本跟蹤數據的最佳方法?

可能需要在UI中顯示過去的數據,但數據不可避免地會改變結構(類定義/內部結構,如果它是動態的)並且我們的庫的重新部署版本將包含新的數據定義跟蹤數據庫中的序列化數據將仍舊處於舊結構中。

是更好地使用不從一開始就改變(如財產袋)或更高,而與重新部署應對動態的結構並以某種方式改變序列化的BLOB進入新的?你有沒有在類似的情況下使用過某種方法?

回答

1

在很大程度上取決於你如何部署應用程序。如果你用強名稱,並部署到GAC或多個私有程序路徑反序列化工作流將反序列化類的確切版本。這意味着你的代碼必須能夠使用多個版本,這可能會有點痛苦。將數據存儲在物業包中不會對您有幫助。如果您使用程序集重定向指向當前版本的活動解決該部分,我想使用屬性包會使生活更簡單。也就是說,我傾向於堅持使用依賴屬性和正則序列化類。

我做了一系列關於長期運行的工作流程和版本博客文章,你遇到一模一樣的問題。查詢here瞭解更多詳情。

相關問題