通常是ASP。NET将配置文件数据视为一个属性包,因此它可能会跳过一个属性(已存储在数据存储中),但已从配置中删除。类似地,对于新添加的属性,它将使用默认值。现在,属性的类型也很重要——如果属性类型是您的自定义类,那么它的序列化将由XmlSerializer或BinaryFormatter处理。XmlSerializer是默认的,它通常是一个宽容的序列化程序(缺少的属性将被跳过等)。可以使用属性来控制xml序列化。对于BinaryFormatter,它与运行时序列化相同,如果您希望支持版本控制,最好实现ISerializable并处理任何版本控制问题。我不确定如果您拥有某个类型a的配置文件属性,然后删除该类型,会发生什么情况。我猜你应该会犯错,但我对此并不在意。
我通常更喜欢使用自己的实现来支持用户配置文件功能,因为
-
诸如版本控制等事情可以根据我的喜好进行控制
-
存储和存储模式的选择
可以独立(这是可能的
在ASP。NET配置文件(按自定义)
配置文件提供商)
-
它可以很容易地放入
分层应用程序和配置文件数据
也适用于任何非网络用户
客户,如果需要的话
-
尽管这意味着要重新发明
再加上一些额外的努力,
对于任何一款拥有
保质期超过2-3年。
-
我可以精确地控制何时开始
从中存储/检索配置文件数据
数据存储。