2008-10-08 53 views
0

我正在研究一个小型项目,我第一次使用XML作为唯一的数据源......一个基于文件的存储适合项目的需要。作为数据源的XML:阅读的最佳实践

在编写DAL时,我应该让所有的get方法都是静态的吗?以避免和“文件打开时读取”错误? 我应该在文件上使用CacheDependency吗?

Thx

回答

2

我想你并不像你一样清楚。这些文件有多大?数据层始终将XmlDocument保存在内存中并在每次更新时转储到硬盘上是否有意义?

更新发生的频率如何?你将如何处理并发?更新将跨多个xml文件进行事务处理?你将如何处理一致性和事务完整性?如果没有更新,你的生活将会简单得多。

方法不一定是静态的。需要考虑的主要问题是,将来您可能需要将DAL提供程序从XML更改为DB。为此,DAL接口的具体实现应该与抽象数据提供者交谈。对你来说,它最初是一个Xml提供者,但你应该能够编写一个实现相同接口的Sql Provider,并使用依赖注入,配置文件或者你拥有的东西轻松地切换实现。

一个你有DAL实现的实例,你可以使用这些对象来与数据层交谈。

希望这对你而言是一个好开始。

0

好的。

这些文件不太可能是巨大的,我会怀疑最大值达到1-2MB。

我得到你需要与数据库互换的DAL接口,所以我需要仔细考虑我的接口。

并发性,以及我关心的是,而不是entirly确定我应该如何处理它。我在想静态读写方法会有所帮助。

XML将被更新,并不是每隔一次,也可能是任何时候,更经常。

我正在使用CacheDependancy以仅在文件发生更改时才从源获取。

我会遇到读取缓存并发的问题吗? 那么我该如何处理并发问题呢?