2

他のいくつかの (Web ユーザー) コントロールを含み、子が発生させるイベントをサブスクライブする Web ユーザー コントロールがあります。

同様の状況で、含まれているコントロールに Dispose() を提供し、サブスクライブしていたイベントの登録を解除している人を見ました。

リクエスト処理が終わったら吹き飛ばされそうじゃない?/ それらのイベントの登録を解除する必要はありますか?

4

3 に答える 3

3

含まれているコントロール (イベント パブリッシャ) は、含まれているコントロール自体が参照されなくなったときに参照されなくなるため、ガベージ コレクションを実行する必要があります。その場合、含まれているコントロールもガベージ コレクションの対象になる可能性があります。これらのオブジェクトはすべて同じ世代にあるため、コンテナーをすぐに収集する方法がわかりません。イベント ハンドラの登録解除は必要ないようです。イベント パブリッシャーがコンテナーよりも存続期間の長いオブジェクトである場合、それはある程度理にかなっています。

詳細については、このディスカッションを参照してください。

于 2008-10-22T01:21:57.203 に答える
0

これは必要な手順ではないと思います。

于 2008-10-22T01:15:09.433 に答える
0

あなたが言うように、ページ(およびそのすべてのコントロール)はポストバックごとに再作成されるため、必要ありません

于 2008-10-22T01:20:35.537 に答える