我移植到.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] 举报,一经查实,本站将立刻删除。