2
私はasp net 4.5を使用しています。デストラクタを実装/コード内で処理する
Marker.aspxページとコードの後ろにMarker.aspx.csというマークがあります。 ポストバックが発生したときはいつも、コードバックでPage_Load
関数が実行され、GeoMarkupクラスが作成されます。ポストバックが、私はデストラクタデストラクタ内でこの行を発射して貼り付ける必要があります実装されているときはいつでも
GeoMarkup markupManager;
protected void Page_Load(object sender, EventArgs e)
{
markupManager = new GeoMarkup("constans",
"mapName",
null);
}
:
markupManager.Dispose();
を私の質問はどのように私は背後にあるコードでデストラクタを実装することができますです?;
代わりに 'Page_Unload'を使うべきだと思います。*ページが完全にレンダリングされ、クライアントに送信され、破棄される準備ができたら、Unloadイベントが発生します。この時点で、ResponseやRequestなどのページプロパティはアンロードされ、クリーンアップが実行されます。*ページがクライアントに送信されると、必要なすべてのリソースをクリーンアップすることが安全です。 – MarcinJuraszek
ガベージコレクタを使用できませんか?あなたのコードを非難する可能性のあるいくつかのケースのためにdisposeを実装しないことを強くお勧めします。それでもなお良くないわけではないが、同等のものはガベージコレクタを呼び出すことができます。 – Media