微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 相信Page_Unload将始终运行并且是Dispose()代码的好地方是否安全?

我熟悉try {} finally {}模式,using(){}模式作为确保调用dispose()的方法,但对于ASP.NET页面,dispose创建的对象同样安全. Page_Unload事件的页面范围?改为覆盖Page的dispose()方法是否有意义?

我不确定是什么代码引发了Page_Unload事件或Page dispose()方法,因此我不知道它将运行的保证是什么.

解决方法

在处理之前,在控制生命周期中引发卸载事件.由于页面本身是一个控件,因此也会引发unload事件.您添加页面的每个控件都将成为页面生命周期的一部分.因此,如果您有一个需要进行清理的控件,那么控件本身应该处理任何可能的清理.如果已将控件添加页面并正确遵循封装原则,则不必担心这一点.

documentation表示你应该使用它来“对特定控件进行最终清理,例如关闭特定于控件的数据库连接”.我的建议是避免卸载事件.如果可能的话,尽早做任何清理代码,如果可以,请使用“使用”.在某种程度上,它就像使用“全局”变量而不是局部变量之间的选择,后者更可取.

原文地址:https://www.jb51.cc/csharp/98524.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐