2

データベース内に保存されている SessionObject を使用しています。SessionObject は、IDisposable を実装する SessionObjecWrapper 内にラップされます。次に、SessionObjectWrapper が HttpContext.Current.Session に配置されます。

セッションの有効期限が切れると、ASP.NET はセッション内のオブジェクトを「破棄」しますか (または GC にそれをさせますか)?

そして、アプリケーションのシャットダウン時?

私はこれをテストしていますが、これが起こるのを見ていません。これをきれいな方法で実現するにはどうすればよいですか?

4

1 に答える 1

2

オブジェクトを自分で破棄するか、代わりにファイナライザー メソッドを使用できます。GC は Dispose() を呼び出すことはありませんが、ファイナライザーを呼び出します。

Dispose() で何をする必要があるのか​​ わかりません。ファイナライザーでは不可能なことがあります (他の管理対象オブジェクトへのアクセスなど)。

于 2009-06-12T15:58:13.613 に答える