我正在调试一个使用XML文件将数据存储为键/值对的应用程序。
解析每个页面加载XML文件以使用这些键/值对填充Dictionary集合。然后使用Dictionary来根据键来查找值。
这种从每个页面上的XML文件加载数据的方法是否是一种良好的做法?
以下是一些想法:
你们有什么想法?
答案 0 :(得分:4)
我建议将XML分析的结果加载到ASP.NET缓存中:
Dictionary<string, object> values = new Dictionary<string, object>();
if(Cache["ConfigDictionary"] != null)
{
values = (Dictionary<string, object>)Cache["ConfigDictionary"];
}
else
{
// Load data into the dictionary here
// This dependency will ensure that you don't keep stale data in the cache
CacheDependency dependency =
new CacheDependency(Server.MapPath("yourFileHere.xml"));
// Inser the Dictionary into the cache
Cache.Insert("ConfigDictionary", values, dependency);
}
答案 1 :(得分:1)
我同意@Justin,将收藏保存到缓存中是件好事。 此外,关于在数据库中存储数据的问题主要取决于应用程序加载的内容。如果有配置设置,或其他更改概率较低的数据,我认为将其保存在XML文件中会更有效。为什么呢?
答案 2 :(得分:0)
我会将其存储在数据库中而不是XML文件中。它更容易查询(例如,如果你必须运行一些报告),备份也更容易控制。
当然,我假设您正在为您的Web应用程序使用数据库。
如果您位于同一网页的上下文中,您可以尝试使用Viewstate减少数据库运行次数。