我使用连续运行的C#在.NET 2中创建了一个Windows窗体应用程序.对于大多数帐户我很满意,但据报道,它偶尔会失败.我可以在50%的时间内监控其性能,我从未注意到失败.
在这一点上,我担心程序可能使用了太多资源,并且在不再需要时不会处理资源.
正确处理已创建定时器和图形对象(如图形路径,SQL连接等)的已创建对象的最佳实践是什么?或者我可以依靠dispose方法来处理所有垃圾回收?
另外:有没有办法可以监控应用程序使用的资源?
Pet*_*old 14
最佳做法是确保在不再需要对象时,实现IDisposable接口的所有对象都被称为Dispose on.
这可以使用using关键字或try/finally结构来完成.
在具有为表单生命周期分配的资源的WinForms表单中,需要一种稍微不同的方法.由于表单本身实现了IDisposable,这表明在某个时间点将在此表单上调用Dispose.您希望确保您的可支配资源同时处理.为此,您应该覆盖表格Dispose(bool disposing)方法.实现应该如下所示:
protected override void Dispose(bool disposing)
{
if (disposing)
{
// dispose managed resources here
}
// dispose unmanaged resources here
}
Run Code Online (Sandbox Code Playgroud)
关于表单中组件的说明:如果对象实现了IComponent接口,则可以将实例放在表单Container中.当容器本身被丢弃时,容器将负责处理组件.
| 归档时间: |
|
| 查看次数: |
2161 次 |
| 最近记录: |