2012-06-28 1 views
2

Моя проблема заключается в том, что у меня есть приложение ASP.Net с кристальными отчетами. Я должен хранить объект отчета Crystal Reports ReportDocument в состоянии сеанса, который является неуправляемым ресурсом.Очистка неуправляемых ресурсов из сеанса, например, Crystal Report Document

Мой вопрос: Будет ли ReportDocument объект быть утилизированы на Session.Abandon или мне придется вручную делать это сам, и если я должен вручную удалить ReportDocument объект из состояния сеанса. Какой процесс следует использовать, потому что на этапе Session_End я не знал бы, какое имя объекта, которое было сохранено в SessionState, не сможет идентифицировать Key, с которым объект ReportDocument хранится в Session.

Пожалуйста, помогите ...

ответ

0

Я считаю, что при сохранении объекта в сеансе вы просто serialising копии текущего состояния объектов, эта копия не будет проводить на любых неуправляемые ресурсы, но оригинальный объект будет, и вы можете просто избавиться от него после того, как вы сохранили его на сеансе.

EDIT

В качестве альтернативы хранить все отчеты в одном объекте сеанса, который представляет собой набор с одним ключом. например Список отчетов

+0

Я использую режим сеанса InProc, поэтому мне не нужно сериализовать копию объекта, который будет храниться в состоянии сеанса, или же объект сериализуется перед сохранением в сеансе ???? –

+0

Да, возможно, вы правы, я не думаю, что объект сериализуется, если вы используете режим сеанса InProc. В таком случае вы можете объяснить, почему вы не знаете ключ? Ключ должен быть уникальным только для каждого сеанса, например. session ["report"] будет работать отлично с несколькими сеансами, и каждый сеанс получит собственную версию. Если вам нужно сохранить много отчетов, сохраните коллекцию отчетов одним ключом. –

+0

У меня есть более пятнадцати страниц, каждый из которых хранит свой собственный документ Crystal Reports в сеансе, чтобы использовать пейджинг Crystal Reports, который не будет работать, если я не помещу его в Session. Я сказал об этом, потому что может быть добавлено больше страниц с дополнительными объектами Document, хранящимися в сеансе ... –

 Смежные вопросы

  • Нет связанных вопросов^_^