Разное время ожидания кэша вывода для разных пользовательских контролей - PullRequest
0 голосов
/ 25 августа 2011

У меня есть несколько пользовательских элементов управления, которые я хотел бы иметь другой тайм-аут выходного кэша.

Я пробовал следующее, но безуспешно:

  • Установить cacheprofile (очевидно, это можно сделать только на страницах aspx).
  • Выполните следующие действия в коде:

    Response.Cache.SetExpires (DateTime.Now.AddDays (OutputCaching.QuickTimeout))

    Response.Cache.SetCacheability (HttpCacheability.Public)

    Response.Cache.SetValidUntilExpires (true);

    Response.Cache.VaryByParams.IgnoreParams = true;

только по-видимому <%@ OutputCache Duration="6000" VaryByParam="" %> работает, но нет ли способа извлечь длительность из файла настроек или настроек?

1 Ответ

0 голосов
/ 19 декабря 2011

Технически это возможно на основе замечаний из этой статьи , но считается, что

HttpCacheability.Server = @ OutputCache

вместо

HttpCacheability.Public

Вот документация для HttpCacheability , это поможет вам выбрать правильный выбор для вас.

Также я думаю, что было бы лучше, если бы вы поместили свой код в Page_Init или Page_PreInit следующим образом:

Private Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
    Me.Response.Cache.SetCacheability(HttpCacheability.Server)
    Me.Response.Cache.SetExpires(Date.Now.AddMinutes(10))
    Me.Response.Cache.SetValidUntilExpires(True)
    Me.Response.Cache.VaryByParams.IgnoreParams = True
End Sub

С уважением,

...