2015-03-25 70 views
1

在生產服務器上有問題。在本地和測試服務器上,此問題未被複制。GetVaryByCustomString方法不叫

.NET 4.5,Sitecore 7.2。

幾個用戶控件具有以下指令:

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

注:相應Sitecore的sublayouts有緩存被關閉。在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(已經提到的指令)的用戶控制裝載有一些信息(例如,「文本A」)。
  • 然後,我打開另一個頁面#2與相同的控件,但與另一個數據(應該有「文本B」),但在此頁上此控件上顯示「文本A」。
  • 僅在300秒後,刷新第2頁後,顯示「文本B」。
  • 我正在嘗試將日誌記錄添加到GetVaryByCustomString中,並且在實時服務器上沒有收到日誌,所以這意味着該方法未被調用。

也許有人有任何想法,爲什麼它以這種方式工作? 謝謝!

回答

0

發現問題的原因!

Global.asax文件在活服務器上不存在。

由於某種原因,它在上次構建期間未交付。

目前的問題可能會被關閉:)