LinQ to XML запрос - PullRequest
       7

LinQ to XML запрос

1 голос
/ 07 августа 2009

Я использую LinQ to XML для заполнения выпадающего списка при загрузке моей страницы. Как я могу кэшировать результаты, чтобы мне не приходилось выполнять запрос каждый раз при загрузке страницы? Также XML-файл будет обновляться только один раз в день. Лучше кешировать или просто читать каждый раз?

Ответы [ 2 ]

1 голос
/ 07 августа 2009

Звоните 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;
        }
    }
}
0 голосов
/ 07 августа 2009

Использование стандартных методов кэширования. Пожалуйста, смотрите это сообщение .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...