卸载默认应用程序域的事件?
是否有卸载事件,或任何事件,通知,消息,机制或挂钩,我可以用来在“默认”应用程序域卸载之前得到通知?
我有代码需要知道什么时候应用程序域(几乎总是默认域)结束。
注意:我不知道开发人员在使用我的代码时会创建什么样的应用程序。 它可能是:
无论哪种方式,我需要知道域何时关闭,所以我可以做一些“东西” 。 我不会要求用户调用任何类型的“关机”或“清理”方法。 (另外,建议用户自己调用方法时不会回答这个问题:当我正在运行的应用程序域关闭时,该问题是关于通知的)。
也可以看看
我忘了从这个问题的其他微小变化中发布我自己的答案。 最终,答案来自MA Hanin的回答 。
没有DomainUnload
,但有一个ProcessExit
:
class Contoso { //constructor public Contoso() { //... //Catch domain shutdown (Hack: frantically look for things we can catch) if (AppDomain.CurrentDomain.IsDefaultAppDomain()) AppDomain.CurrentDomain.ProcessExit += MyTerminationHandler; else AppDomain.CurrentDomain.DomainUnload += MyTerminationHandler; } private void MyTerminationHandler(object sender, EventArgs e) { //The domain is dying. Serialize out our values this.Dispose(); } ... }
注意 :任何代码都将发布到公共域中。 无需归属。
上述就是C#学习教程:卸载默认应用程序域的事件?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
AppDomain.CurrentDomain.DomainUnload += (object sender, EventArgs e) => { /*do stuff*/ };
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953470.html