加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在linux服务上处理kill – .NET Core 1.1

发布时间:2020-12-15 21:05:47 所属栏目:百科 来源:网络整理
导读:我想写一个 Linux服务(比如Windows服务),但我不知道如何安全地停止这项服务. 我读到了 AssemblyLoadContext.Default.Unloading += MethodInvokedOnSigTerm; 但它不存在于.NET Core 1.1中. 你有什么想法 ? 解决方法 如果您能够更新您的应用程序以使用.Net Co
我想写一个 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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读