我有一個表示用於建立對數據存儲的查詢搜索條件的一類。該類是可序列化的,允許將類實例保存到磁盤並重新加載,提供保存搜索以重新使用它們的業務級功能。二進制序列 - 改變序列化類的位置用序列文件
這裏的問題;我最近改變了可以序列化的類的位置。我沒有改變這個類的結構,我只是將它從一個項目(不再以原來的名稱存在)轉移到另一個項目中。在這樣做的時候,我意識到我只是打破了基於該類的文件的反序列化,因爲它存在於之前的位置。
如果可能的話,我需要能夠「轉換」這些文件。雖然這些文件是二進制格式的,但大部分文件都是純文本格式,包括現在無效的命名空間。然而,只是改變我看到的文件的文本就會破壞它,所以顯然我錯過了一些東西。
有沒有辦法更新該文件爲某種間歇過程中,或在新的類位置點串行的,所以文件可以反序列化?
這就是我想我必須要做的。我希望它不會來,但哦。如果我最終走這條路線,我想我會採取Marc的建議,並轉向基於文本的序列化方法,如DataContract。正如他所說,只要對象的形式(如序列化程序所看到的)與序列化文件相匹配,對象的位置並不重要。 – KeithS
我最終這樣做,但序列化文件到XML;那些文件可以在新位置被相同的對象反序列化。 – KeithS