我正在做一个小项目,我第一次想使用 XML 作为唯一的数据源……基于文件的存储适合项目的需要。
在编写 DAL 时,我应该将所有 get 方法都设为静态吗?避免和“文件打开时读取”错误?我应该在文件上使用 CacheDependency 吗?
谢谢
我正在做一个小项目,我第一次想使用 XML 作为唯一的数据源……基于文件的存储适合项目的需要。
在编写 DAL 时,我应该将所有 get 方法都设为静态吗?避免和“文件打开时读取”错误?我应该在文件上使用 CacheDependency 吗?
谢谢
我认为你并没有像你本来可以那样清楚。这些文件有多大?数据层始终将 XmlDocument 保存在内存中并在每次更新时转储到硬盘是否有意义?
如果有的话,多久会更新一次?你将如何处理并发?更新是否会跨多个 xml 文件进行事务处理?您将如何处理一致性和事务完整性?如果没有更新,你的生活会简单得多。
方法不必是静态的。要考虑的主要事项是,将来您可能希望将 DAL 提供程序从 XML 更改为 DB。为此,DAL 接口的具体实现应与抽象数据提供者对话。对你来说,它最初是一个 Xml 提供程序,但你应该能够编写一个实现相同接口的 Sql 提供程序,并使用依赖注入、配置文件或你拥有的东西轻松切换实现。
如果您有 DAL 实现的实例,则可以只使用这些对象与数据层对话。
希望这对你来说是一个好的开始。
好的。
这些文件不太可能很大,我怀疑最大值会达到 1-2MB。
我为您提供了需要与数据库互换的 DAL 接口,因此我需要仔细考虑我的接口。
并发,嗯,我很担心,不完全确定我应该如何处理它。我在想静态读写方法会有所帮助。
XML 将被更新,不是那么频繁,可能一天一次,但它可能随时更频繁。
我使用 CacheDependancy 仅在文件更改时从源获取。
我会在同时读取缓存时遇到问题吗?那么如何处理并发问题呢?