Метод GetVaryByCustomString не вызывается

1

Возникли проблемы с производственным сервером. На локальных и тестовых серверах эта проблема не воспроизводится.

.NET 4.5, Sitecore 7.2.

Несколько пользовательских элементов управления имеют следующую директиву:

<%@ OutputCache VaryByParam="*"  Duration="300" VaryByCustom="VaryByUrl" %>

Примечание: соответствующие подэлементы sitecore отключены.

Метод в Global.asax:

    public override string GetVaryByCustomString(HttpContext context, string custom)
    {
        switch (custom.ToLower())
        {
            case "varybyurl":
                return context.Request.Url.DnsSafeHost + context.Request.RawUrl + OutputCacheKey;
        }

        return base.GetVaryByCustomString(context, custom);
    }

Ранее кэширование работало нормально. Но с недавнего времени он внезапно разбился (но только на реальном сервере). Его поведение:

  • Страница № 1 с пользовательским управлением (указанная директива) загружается некоторой информацией (например, "Текст А").
  • Затем я открываю другую страницу # 2 с тем же элементом управления, но с другими данными (которые должны иметь "текст B"), но на этом элементе управления на этой странице отображается "Текст А".
  • Только через 300 секунд после обновления страницы # 2 отображается "Текст B".
  • Я пытался добавить запись в GetVaryByCustomString и никаких журналов не было получено на реальном сервере, поэтому это означает, что метод не был вызван.

Может быть, у кого-то есть идея, почему он работает таким образом? Спасибо!

Теги:
sitecore
outputcache

1 ответ

0

Причина проблемы найдена!

Файл Global.asax отсутствовал на реальном сервере.

По какой-то причине он не был доставлен во время последней сборки.

Текущая проблема может быть закрыта :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню