ASP.NET配置文件如何處理版本控制?我知道,因爲數據是序列化的,這可能是一個問題,其中表不是。ASP.NET配置文件版本控制?
它會拋出某種序列化錯誤?
示例:我將v1對象存儲到配置文件。我使用新的v2版本更新我的web應用程序,但數據庫仍包含v1對象。
當我試圖將v1對象反序列化到v2對象時會發生什麼?什麼是這個問題的最佳解決方案?
ASP.NET配置文件如何處理版本控制?我知道,因爲數據是序列化的,這可能是一個問題,其中表不是。ASP.NET配置文件版本控制?
它會拋出某種序列化錯誤?
示例:我將v1對象存儲到配置文件。我使用新的v2版本更新我的web應用程序,但數據庫仍包含v1對象。
當我試圖將v1對象反序列化到v2對象時會發生什麼?什麼是這個問題的最佳解決方案?
通常,ASP.NET將配置文件數據視爲屬性包 - 所以它可能會跳過屬性(已存儲在數據存儲中)但從配置中刪除。同樣,對於新添加的屬性,它將使用默認值。現在,屬性的類型也很重要 - 如果屬性類型是您的自定義類,那麼它的序列化將由XmlSerializer或BinaryFormatter處理。 XmlSerializer是默認的,它通常是一個寬容的序列化程序(缺少的屬性將被跳過等)。您可以使用屬性來控制xml序列化。在BinaryFormatter的情況下,它與運行時序列化相同,如果您希望支持版本控制,則最好實施ISerializable並處理任何版本控制問題。我不確定如果您有某種類型的配置文件屬性,然後刪除該類型,會發生什麼情況。我的猜測是,你應該得到一個錯誤,但我不關心它。
我通常喜歡挽起我自己的實現支持用戶配置文件的功能,因爲