我希望在关闭进程时在库中进行一些清理,DotNet Core的替代方案是什么?在.Net Framework 4中,我使用了AppDomain.CurrentDomain.ProcessExit。
答案 0 :(得分:3)
由于您的代码位于库中,因此您可以使库的调用者提供通知。这样主持人就可以决定通知你。
通常情况下,库不应该混淆进程全局状态。它不应该假设它所托管的环境。
也许调用者可以传递在进程关闭开始时完成的Task
。或者,调用者可以在您的库中调用静态方法(NotifyProcessShutdown
或PerformProcessShutdownCleanup
)。
答案 1 :(得分:0)
.NET-Core中没有AppDomain.CurrentDomain.ProcessExit
的替代品,使用了相同的事件。
但是,如果要在库中进行清理,我建议使用以下两种方法之一:
void Shutdown()
(或类似内容)。IDisposable
,以便图书馆在处置后可以自行清理。然后,主应用程序将使用AppDomain.CurrentDomain.ProcessExit
并触发上述机制之一。