給出一點背景。將數據保存到.net中的文件時的良好編碼實踐
我創建了一個應用程序,允許用戶保存設置,然後在稍後的日期調用設置。爲此,我創建了一些可序列化的對象。我已經得到這個使用BinaryFormatter工作沒有太大麻煩。
我開始遇到問題的時候是我升級軟件並添加新設置。現在我的可序列化的對象不匹配,所以我必須更新文件。我已經成功完成了幾個版本。但要做到這一點,我嘗試反序列化文件,如果它引發異常,我嘗試下一個版本。 。然後是下一個。 。然後是下一個。 。 。直到我找到合適的人。然後,我必須爲每個舊版本編寫轉換函數,以將其轉換爲最新版本。我也創建了一個「修訂」文件,所以我可以檢查他們的版本,然後升級它,但我仍然需要保留許多不同的「版本」,併爲它們編寫轉換函數。 。 。這對我來說本質上是混亂的,如果我繼續沿着這條路線走下去,那麼容易在後面臃腫。
必須有更好的方法來做到這一點,我只是不知道如何。
感謝
在.net框架中內置了功能,從版本2開始,它完全符合您的需求,而無需編寫自己的代碼。請參閱下面的答案。 – Andy 2013-02-19 22:57:03