我想写一个
Linux服务(比如Windows服务),但我不知道如何安全地停止这项服务.
我读到了
AssemblyLoadContext.Default.Unloading += MethodInvokedOnSigTerm;
但它不存在于.NET Core 1.1中.
你有什么想法 ?
解决方法
如果您能够更新您的应用程序以使用.Net Core 1.2,它可以通过
AppDomain.ProcessExit
事件完成,但在.Net Core 1.1中,根据
this github issue,这是不可能的.
请注意,您需要至少引用Microsoft.NETCore.App 1.2.0-beta才能使用较新的API.另外,为了引用更新的版本,您需要使用一组较新的CLI工具,至少预览4版本的工具.您可能会发现新的API功能可用性here.
根据该站点,System.Runtime.Loader.AssemblyLoadContext.Unloading
事件确实存在于自0700年的.NET Core 1.0以来.您是否尝试安装该软件包?我认为它会解决你的问题.
using System.Runtime.Loader; AssemblyLoadContext.Default.Unloading += MethodInvokedOnSigTerm;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。