1

問題: MyCustomControl から派生したコントロールで OutputCaching を使用できません。コントロールは、Page.LoadControl メソッドでデータベースからの定義を使用して動的にロードされます。

ascx <%@ OutputCache VaryByParam="*" Duration="3600"%> に追加すると、「InvalidCastException: System.Web.UI.PartialCachingControl -> MyCustomControl」例外がスローされます。

動的読み込み制御ロジックが含まれているアセンブリ ウィッチを変更できません。派生コントロールでそれを修正する方法はありますか?

2 番目の質問は、iis7 とネイティブの出力キャッシュに関するものです。この問題は解決しますか? (いくつかのパフォーマンス カウンターを設定しようとしましたが、キャッシュがヒットしていないことがわかりました...)

4

1 に答える 1

0

コントロールを動的にロードする場合、それらは System.Web.UI.PartialCachingControl としてロードされます。

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

この動作は IIS7 でもまったく同じです。

于 2010-03-12T08:45:08.073 に答える