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中,並且在實時服務器上沒有收到日誌,所以這意味着該方法未被調用。
也許有人有任何想法,爲什麼它以這種方式工作? 謝謝!