C# 未调用GetVaryByCustomString方法

C# 未调用GetVaryByCustomString方法,c#,asp.net,sitecore,outputcache,C#,Asp.net,Sitecore,Outputcache,生产服务器出现问题。在本地服务器和测试服务器上,不会重现此问题 .NET 4.5、Sitecore 7.2 几个用户控件具有以下指令: <%@ OutputCache VaryByParam="*" Duration="300" VaryByCustom="VaryByUrl" %> 以前缓存工作正常。但从最近开始,它突然被破坏(但仅在实时服务器上)。其行为: 带有用户控件(已提到指令)的第1页加载了一些信息(例如“文本A”) 然后我打开另一个页面#2,使用相同的控件,但使用另

生产服务器出现问题。在本地服务器和测试服务器上,不会重现此问题

.NET 4.5、Sitecore 7.2

几个用户控件具有以下指令:

<%@ OutputCache VaryByParam="*"  Duration="300" VaryByCustom="VaryByUrl" %>
以前缓存工作正常。但从最近开始,它突然被破坏(但仅在实时服务器上)。其行为:

  • 带有用户控件(已提到指令)的第1页加载了一些信息(例如“文本A”)
  • 然后我打开另一个页面#2,使用相同的控件,但使用另一个数据(应该有“文本B”),但“文本A”显示在该页面的该控件上
  • 仅在300秒后,刷新页面#2后,才会显示“文本B”
  • 我试图将日志添加到GetVaryByCustomString中,但在live server上未收到任何日志,因此这意味着未调用该方法
也许有人知道为什么会这样?
谢谢大家!

找到了问题的原因

Global.asax文件在live server上不存在

由于某种原因,它在上次构建期间未交付

当前问题可能已解决:)

    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);
    }