Asp.net InvalidCastException:System.Web.UI.PartialCachingControl->MyCustomControl when OutputCaching

Asp.net InvalidCastException:System.Web.UI.PartialCachingControl->MyCustomControl when OutputCaching,asp.net,user-controls,outputcache,invalidoperationexception,Asp.net,User Controls,Outputcache,Invalidoperationexception,问题:我无法将OutputCaching与从MyCustomControl派生的控件一起使用。使用数据库中的定义和Page.LoadControl方法动态加载控件 当我添加到ascx时 InvalidCastException:引发System.Web.UI.PartialCachingControl->MyCustomControl异常 我无法修改包含动态加载控制逻辑的程序集。有没有办法在派生控件中修复它 第二个问题是关于iis7和本机输出缓存-它解决了这个问题吗?我试图设置几个性能计数器,但

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

当我添加到ascx时 InvalidCastException:引发System.Web.UI.PartialCachingControl->MyCustomControl异常

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


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

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

Control control = Page.LoadControl("/somecontrol.ascx");
this.Controls.Add(control);
MyCustomControl myControl = ((PartialCachingControl)control).CachedControl as MyCustomControl 
这种行为在IIS7中完全相同