gpt4 book ai didi

.net - ASP.NET 配置文件版本控制?

转载 作者:行者123 更新时间:2023-12-04 15:37:36 26 4
gpt4 key购买 nike

ASP.NET 配置文件如何处理版本控制?我知道因为数据是序列化的,这可能是一个问题,而表不是。

它会抛出某种序列化错误吗?

示例:我将一个 v1 对象存储到配置文件中。我使用新的 v2 版本更新了我的 Web 应用程序,但数据库仍包含 v1 对象。

当我尝试将 v1 对象反序列化为 v2 对象时会发生什么?这个问题的最佳解决方案是什么?

最佳答案

通常 ASP.NET 将配置文件数据视为属性包 - 因此它可能会跳过一个属性(已存储在数据存储中)但从配置中删除。同样,对于新添加的属性,它会使用默认值。现在,属性类型也很重要——如果属性类型是您的自定义类,那么它的序列化将由 XmlSerializer 或 BinaryFormatter 处理。 XmlSerializer 是默认值,它通常是一个宽容的序列化器(将跳过缺少的属性等)。您可以使用属性来控制 xml 序列化。在 BinaryFormatter 的情况下,它与运行时序列化相同,如果您希望支持版本控制,最好实现 ISerializable 并处理任何版本控制问题。我不确定在您拥有某种类型 A 的配置文件属性然后删除该类型的情况下会发生什么。我的猜测是你应该得到一个错误,但我不知道。

我通常更喜欢使用自己的实现来支持用户配置文件功能,因为

  • 可以根据我的喜好控制诸如版本控制等内容
  • 存储和存储模式的选择
    可以是独立的(这是可能的
    在 ASP.NET 配置文件中自定义
    配置文件提供商)
  • 它可以很容易地放入
    分层应用程序和配置文件数据
    也可用于任何非网络
    客户如果需要
  • 虽然这意味着重新发明
    轮子并有一些额外的努力,
    对于任何具有
    保质期超过2-3年。
  • 我可以精确控制何时
    存储/检索配置文件数据
    数据存储。
  • 关于.net - ASP.NET 配置文件版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463351/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com