使用Windows桌面应用程序处理一次性依赖项

时间:2013-02-11 17:07:08

标签: c# .net wpf winforms desktop-application

我们都知道,一旦完成使用它们,我们应该丢弃一次性物品。问题是:如果我在Windows桌面应用程序的整个生命周期中使用了一个一次性对象(例如数据库上下文)(例如WPF或WinForms):我应该在应用程序关闭事件中处置该对象(为什么,当,什么时候没有)?

1 个答案:

答案 0 :(得分:0)

通常,您应该避免使用在您的应用程序有效期内使用的一次性物品。许多对象,例如数据库上下文,只是不应该在该范围内使用。

如果你确实需要这样做,那取决于对象是否“正确”实现了IDisposable模式。如果一次性对象实现了终结器,那么即使您没有在其上调用Dispose,它也会在应用程序结束时被处理掉。如果对象没有实现终结器,则在应用程序关闭时需要处理它,除非它泄漏的资源不是问题。例如,如果它将泄漏将在进程结束时关闭的内存,则不需要释放它,如果它只是取消订阅事件,则不需要运行等等。如果您不确定在<{1}}方法中发布完全的内容然后你应该是安全的并且无论如何都要调用它。