Windowsサービスの自己ホストアプリケーションでは、起動時にデータを事前ロードする必要があり、これには60秒かかることがあります。したがって、タイムアウトエラーを避けるために、起動時にRequestAdditionalTime
と呼び出してください。ASP.NETコアにアップグレードした後にRequestAdditionalTimeが機能しない
これは以前はうまくいきました。 最近WindowsサービスでセルフホストされたASP.NET Core 2.0にアップグレードしました。このアプローチはMicrosoftのドキュメントhereに記載されています。 TargetFramework
をnet472
に設定すると、派生クラスWebHostService
では、RequestAdditionalTime
と呼ばれます。
public class CustomWebHostService : WebHostService
{
public CustomWebHostService(IWebHost host) : base(host)
{
}
protected override void OnStarting(string[] args)
{
this.RequestAdditionalTime(1000 * 60 * 5);
base.OnStarting(args);
}
protected override void OnStarted()
{
this.RequestAdditionalTime(1000 * 60 * 5);
base.OnStarted();
}
}
しかし、動作しません。
サービスが開始または制御要求に適時に応答しませんでした。 XXXXサービスの接続を待機中にタイムアウトに達しました(30000ミリ秒)。
は、今私はRequestAdditionalTime
はもはや機能しない理由を誰もが知っていたレジストリ
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"ServicesPipeTimeout"=dword:0002bf20
を編集することによって、この問題を修正しましたか?
.netコアのどのバージョン? –
.NET Framework 4.7.2で実行されているASP.NETコア2.0 –