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

我想写一个Linux服务(比如Windows服务),但我不知道如何安全地停止这项服务.我读到了AssemblyLoadContext.Default.Unloading += MethodInvokedOnSigTerm;但它不存在于.NET Core 1.1中.你有什么想法 ?解决方法:如果...

我想写一个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;

本文标题为:c# – 在linux服务上处理kill – .NET Core 1.1

基础教程推荐