Asp.netサーバーコントロールをキャッシュに保存することは可能ですか/悪い考えですか?
コントロール、つまり HtmlGenericControl を作成して Page.Cache に追加し、OnInit() で取得してページ コントロール コレクションに追加するのは悪い考えですか?
それとも、ParseControl を使用した方が良いですか?
Asp.netサーバーコントロールをキャッシュに保存することは可能ですか/悪い考えですか?
コントロール、つまり HtmlGenericControl を作成して Page.Cache に追加し、OnInit() で取得してページ コントロール コレクションに追加するのは悪い考えですか?
それとも、ParseControl を使用した方が良いですか?
かなり危険です。ページが呼び出されるたびに、そのインスタンスを取得します。このインスタンスには、デザイナーが配置したすべてのコントロールのインスタンスが含まれます。コントロールのインスタンスをキャッシュに格納すると、ページの複数のインスタンスがコントロールのインスタンスを共有する状況に陥る可能性があります。この制御データ部分も共有されるため、この部分に何が入るかに注意する必要があります。
コントロールはページに固有であるため(たとえば、Pageプロパティがある)、キャッシュに保存して複数のページ間で共有することはできません。代わりにフラグメントキャッシングを検討するかもしれません。