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

dotnet核心捕获closures优雅closures

我移植到.NET核心和现有的应用程序钩了win32调用SetConsoleCtrlHandler捕获应用程序closures,以便它可以干净地closures打开的数据库文件和其他有序的closures任务。

我需要在.NET核心中做同样的事情,我可以看到的唯一select是通过挂接到IApplicationLifetime ApplicationStopping.Register中。 但是,只捕获Ctrl-C,并且如果最终用户或系统终止win32调用将控制台应用程序(例如,系统重新启动)不起作用。

一个选项是通过AppDomain(AppDomain.CurrentDomain.ProcessExit),但是AppDomain在dotnet Core中不可用。

有序的应用程序closures非常重要,而且我担心生产系统中的数据损坏,所以需要实现相同的function,而新的应用程序将在Windows和Linux操作系统上运行。

Linux上的.NET Core支持Visual Basic吗?

.net-core:相当于ILDASM / ILASM

在Linux上从C调用C#

在Linux上从.NET Core手动调用recvmsg不会返回

VS代码中的错误dotnet core C#:“无法findtypes或名称空间名称”,但构build成功

我错过了在dotnet核心的function来做到这一点? 或者我必须重新实现win32关机挂钩和Linux上的等价物?

System.DllNotFoundException:无法使用dotnet核心加载DLL

DotNetCore:跨平台版本的GetInvalidFileNameChars?

在Linux上构build面向.NET Framework的NuGet包

.NET Core / Full CLR应用程序的独立debugging

如何在.NET Core上构build多目标解决scheme?

AppDomain.CurrentDomain.ProcessExit事件现在在.NET Core 2.0中可用,我可以确认它在Linux上正常工作。 在.NET Core 2.0之前, AssemblyLoadContext.Default.Unloading可能是一个可行的选择。

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

相关推荐