У меня странная спорадическая проблема.
У меня есть хранимая процедура, которая возвращает 5 маленьких таблиц (например, идентификаторы и текстовые описания для раскрывающихся списков статуса и т. Д.). Код вызывает это и помещает возвращаемый набор данных в кеш ASP.Net. Отдельные методы вызываются для извлечения отдельных таблиц из набора данных для привязки данных к элементам управления в моем веб-приложении.
Только на моем QA-сервере одна таблица исчезает. Таблица будет там для одного сценария тестирования; однако при следующем запуске этого же сценария одна таблица будет нулевой. Таблица с MIA всегда одна и та же (если быть точным, таблица № 4 из 5).
Если ASP.Net WP требуется память, может ли он удалить отдельную таблицу из кэшированного набора данных, сохранив при этом индексы набора данных?
Ниже приведен код кеширования:
public static DataSet GetDropDownLists()
{
DataSet ds = (DataSet)HttpContext.Current.Cache["DropDownListData"];
if (null == ds)
{
// - Database Connection Information Here
ds = db.ExecuteDataSet(CommandType.StoredProcedure, "Sel_DropDownListData");
HttpContext.Current.Cache.Add("DropDownListData", ds, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero, CacheItemPriority.Normal, null);
}
return ds;
}
Вот пример метода, который возвращает нулевую таблицу:
public static DataTable GetStatusList()
{
return GetDropDownLists().Tables[3];
}
Опять же, это происходит только на моем QA-сервере, а не тогда, когда мой локальный код подключен к базе данных QA или чему-либо на отдельном сервере для моего собственного тестирования разработки.
Спасибо