Microsoft.AspNet.Server.Kestrel
を使用しているときにシャットダウン機能はありますか? ASP.NET Core(以前のASP.NET vNext)には明らかにStartupシーケンスがありますが、シャットダウンシーケンスとクリーンクロージャを処理する方法は記載されていません。もしIApplicationLifetime
ASP.NETコアのStartup.csのKestrelシャットダウン機能
public class Startup
{
public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime)
{
applicationLifetime.ApplicationStopping.Register(OnShutdown);
}
private void OnShutdown()
{
// Do your cleanup here
}
}
IApplicationLifetime
によって提供キャンセルトークンに登録することができるASP.NETコア内
は、これはすべてのOSとサーバー上で動作するようになっていますか?私はそれをOSX + Kestrelで動かすことはできませんでした。 – opiethehokie
これはすべてのプラットフォームで動作するはずですが、そうでない場合はバグかもしれません。 githubに関するいくつかの古い問題があります。おそらくdavidfowlの回避策をhttps://github.com/aspnet/Hosting/issues/151で試してください。それ以外の場合はhttps://github.com/aspnet/Hosting/issuesで問題を開いてみてください。 RC2の準備中です。 – Tseng
@opiethehokie:https://github.com/aspnet/Hosting/issues/516に関連するかもしれません。これはLinux用ですが、SIGINTとSIGTERMは私が知る限りMacOSでも使用されています。プロセスを停止するためにMacOSが送信する信号を知るのに十分なほどのものではありません。また、dnx core 1.0を使用しているのか、完全なモノフレームワーク – Tseng