Расположены ли объекты IDisposable в HttpContext.Current.Session в Application_End? - PullRequest
1 голос
/ 12 июня 2009

Я использую SessionObject, который хранится в базе данных. SessionObject обернут внутри SessionObjecWrapper, который реализует IDisposable. Затем SessionObjectWrapper помещается в HttpContext.Current.Session.

По истечении срока сеанса ASP.NET "удаляет" (или позволяет GC просто так) любого объекта внутри сеанса?

А при выключении приложения?

Я проверяю это и не вижу, чтобы это случилось. Как я должен сделать это чистым способом?

1 Ответ

2 голосов
/ 12 июня 2009

Вы можете распоряжаться объектами самостоятельно или использовать вместо этого метод финализатора. GC никогда не вызовет Dispose (), но вызовет финализатор.

Я не знаю, что вам нужно делать в вашем Dispose (). Некоторые вещи невозможны в финализаторе (например, доступ к другим управляемым объектам)

...