Ясный кэш в SqlDataSource

Включение определяет существование функций.

Использование облегчает их использование.

cout как определено в iostream, фактически называется "std :: cout".

Вы можете избежать использования пространства имен, написав.

std::cout << "Hello World";
12
задан azollman 1 June 2009 в 20:13
поделиться

3 ответа

Отключение кеширования (EnableCaching = false) и последующее принудительное выполнение нового выбора (SqlDataSourceInstance.Select (new DataSourceSelectArguments ())) перед повторным включением кеширования очищает конкретную комбинацию выбранных CommandText и CommandParameters, так что это начало.

Тем не менее, он по-прежнему сохраняет кэш других комбинаций запросов, выполняемых SqlDataSource, так что это не решает всей проблемы.

0
ответ дан 2 December 2019 в 21:04
поделиться

Убедитесь, что ваш CacheExpirationPolicy равен Absolute. Используйте ненулевое значение CacheDuration (0 означает бесконечную продолжительность кеширования).

0
ответ дан 2 December 2019 в 21:04
поделиться

Я только начал исследовать это сегодня и наткнулся на этот пост, этот вид выглядит как лучшее решение:

Простой способ программно аннулировать кеш SqlDataSource

<asp:SqlDataSource ID="x" EnableCaching="True" CacheKeyDependency="MyCacheDependency"/>

protected void Page_Load(object sender, EventArgs e)
{ // Or somewhere else before the DataBind() takes place
  if (!IsPostBack)
  {
      //prime initial cache key value if never initialized
      if (Cache["MyCacheDependency"] == null)
      {
        Cache["MyCacheDependency"] = DateTime.Now;
      }
  }
}


// Evict cache items with an update in dependent cache:
Cache["MyCacheDependency"] = DateTime.Now;
14
ответ дан 2 December 2019 в 21:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: