Я использую IIS7 и C# и mysql. и я помещал некоторые объекты в систему кеша asp.net с ключевыми словами sql. он имеет очень простую логику. Укажите выбранный набор данных в кеш с заданным ключевым словом sql.Потеря моих объектов в кеше
это проблема. когда я вызываю свой сайт с www.abc.com, он работает нормально. в то время как серфинг в abc.com после второго щелчка, сначала заполненный набор данных, становится пустым набором данных, и мой сайт начинает показывать пустые списки.
Я попытался сменить ключи на некоторые статические слова и скопировать наборы данных, а затем кешировать их, но пока ничего не добился.
Надеюсь, я хорошо объяснил. http://beta.mpazari.com - это место, если вам нравится видеть, и в выпадающих списках красных ящиков списки должны быть заполнены данными.
здесь является моей функции заполнить
public void Fill(ref DataSet ds, string sql, DateTime? cacheTime, string key)
{
if (key == null) key = sql;
if (cacheTime == null) cacheTime = DateTime.Now.AddMinutes(generalCacheExpiarionTimeInMinutes);
if (cache[key] != null) { ds = (DataSet)cache[key]; return; }
MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["motorConnectionString"].ConnectionString);
try
{
conn.Open();
MySqlDataAdapter myda = new MySqlDataAdapter(sql, conn);
if (ds == null) ds = new DataSet();
ds.Clear();
myda.Fill(ds);
cache.Insert(key, ds.Copy(), null, cacheTime.Value, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.NotRemovable,null);
}
finally
{
conn.Close();
}
}
заранее спасибо.
Возможно, вам придется опубликовать код, чтобы получить ответ на этот вопрос. Как вы кладете его в кеш? Какие варианты зависимости/времени вы используете? –
Мне нужно объяснить, что я попытался добавить копию набора данных или сам ds, но не успел. что exmple копирует набор данных и помещает новый объект в кеш. –
У меня все еще есть эта проблема, и я просто понял, что когда я помещаю набор данных в память, он теряет имена столбцов странно. –