LinQ to XML查询

时间:2009-08-07 11:51:50

标签: asp.net-mvc linq

我正在使用LinQ to XML在我的页面加载时填充下拉列表。如何缓存结果,以便每次页面加载时都不必运行查询?此外,xml文件每天只会更新一次。每次缓存或只读它是否更好?

2 个答案:

答案 0 :(得分:1)

对查询结果调用ToList()。然后将结果缓存到静态变量中,以线程安全的方式访问:

private static List<Whatever> dropDownListValues;
private static object listLock = new object();

public static IList<Whatever> DropDownListValues
{
    get
    {
        lock(listLock)
        {
            if (dropDownListValues == null ||
                DetectValuesChanged()) // However you implement this!
            {
                dropDownListValues = // insert your query here
                                        .ToList();
            }
            return dropDownListValues;
        }
    }
}

答案 1 :(得分:0)

使用标准缓存技术。请参阅this post