【问题标题】:InvalidCastException: System.Web.UI.PartialCachingControl -> MyCustomControl when OutputCachingInvalidCastException:System.Web.UI.PartialCachingControl -> 输出缓存时的 MyCustomControl
【发布时间】:2010-12-19 01:02:39
【问题描述】:

问题:我无法将 OutputCaching 与源自 MyCustomControl 的控件一起使用。使用 Page.LoadControl 方法使用数据库中的定义动态加载控件。

当我添加到 ascx 抛出“InvalidCastException: System.Web.UI.PartialCachingControl -> MyCustomControl”异常。

我无法修改包含动态加载控制逻辑的程序集。有没有办法在派生控件中修复它?

第二个问题是关于 iis7 和本机输出缓存的——它解决了这个问题吗? (我尝试设置几个性能计数器,发现缓存没有命中……)

【问题讨论】:

    标签: asp.net user-controls outputcache invalidoperationexception


    【解决方案1】:

    如果您动态加载控件,它们将作为 System.Web.UI.PartialCachingControl 加载。

    Control control = Page.LoadControl("/somecontrol.ascx");
    this.Controls.Add(control);
    MyCustomControl myControl = ((PartialCachingControl)control).CachedControl as MyCustomControl 
    

    这种行为在 IIS7 中完全相同

    【讨论】:

      猜你喜欢
      • 2010-11-18
      • 2011-10-13
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      • 1970-01-01
      相关资源
      最近更新 更多