【发布时间】:2012-02-19 19:13:46
【问题描述】:
我有一个用于数据库的 xml 文件,这意味着该 xml 会经常更新。 对于 xml 数据库有一个 FileWatcher,一旦 xml 更新,我会收到一个事件,然后我将 xml 反序列化为对象并检查是否确实有更改。
我遇到的问题是,一旦我反序列化 xml,Stream Reader 就会锁定文件,所以我在尝试更新它时可能会遇到异常。
是否有可能在不锁定文件的情况下反序列化 xml?
XmlSerializer serializer = new XmlSerializer(typeof (MyType));
Stream reader = new FileStream(File, FileMode.Open);
var myType = (MyType) serializer.Deserialize(reader);
【问题讨论】:
-
用文件共享权限打开文件?
-
这听起来效率很低。您是否考虑过使用数据库?
标签: c# xml deserialization