在ASP.NET如果物品被留在该实现IDisposable会话状态但从未特别取出,并通过在会话期满将配置被在对象上调用的应用设置在Dipose()的任何代码将执行<? / p>

有帮助吗?

解决方案

如果该IDisposable图案是实施得当时,则是(即类的析构函数会照顾处置的对象)。我不相信ASP.NET会话管理,使约明确地呼吁实现Dispose()IDisposable任何保证。

请注意,尽管马克的激进反对,我并不认为“常规”,并称终结。我只是建议,如果您希望您的对象上Dispose方法时,会话过期叫,这是一个可行的选择。

其他提示

我与肖恩的答案不同意;首先,应该终结的不可以常规加入到班,即使他们是IDisposable - 终结应该只真正代表非托管资源类使用。相反,具有一个终结一类经常也是IDisposable

重新这样的问题:是Dispose()称为 - 不,它不是。对象将是在未来(不确定)的一些点收集垃圾,但也差不多了。终结也不会增加多少在这里,任何封装的对象也将已经符合回收(假设他们没有其他地方引用)。

我关注到有会话一次性的对象。它几乎肯定会为你创建一个可扩展性问题。凡是是一次性的可能是连接到某些有限的资源,如果你有,你有可能使用了该资源的许多活动会话。其次我期望,许多(大多数?)一次性对象将不能在Web场因为它们都被设置到资源中很好地工作可能是本地的一台机器,他们将不会序列化,然后在相同的另一台机器上反序列化状态。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top