我的问题是我有一个带有水晶报表的ASP.Net应用程序。我必须将Crystal报表的ReportDocument对象存储在会话状态中,该状态是非托管资源。

我的问题是:将ReportDocument对象放置在Session.Abandon上还是我自己必须手动进行处理,以及是否必须从会话状态中手动删除ReportDocument对象。我应该遵循什么过程,因为在Session_End事件中我不知道存储在SessionState中的对象的名称是什么,两个都无法识别与Key对象一起使用的ReportDocument存储在Session中。

请帮忙...

最佳答案

我相信,当您将对象存储在会话中时,您只是在序列化对象的当前状态的副本,该副本将不会保留任何不受管的资源,但是原始对象将并且您可以在拥有后就可以将其处置将其保存到会话中。

编辑

或者,将所有报告存储在一个会话对象中,该对象是一个具有单个键的集合。例如列出报告

07-26 00:58