2015-03-25 4 views
1

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

.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, и на реальном сервере не было получено никаких журналов, поэтому это означает, что метод не был вызван.

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

ответ

0

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

Global.asax файл отсутствовал на прямом сервере.

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

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

Смежные вопросы