2017-12-22 11 views
0

Windowsサービスの自己ホストアプリケーションでは、起動時にデータを事前ロードする必要があり、これには60秒かかることがあります。したがって、タイムアウトエラーを避けるために、起動時にRequestAdditionalTimeと呼び出してください。ASP.NETコアにアップグレードした後にRequestAdditionalTimeが機能しない

これは以前はうまくいきました。 最近WindowsサービスでセルフホストされたASP.NET Core 2.0にアップグレードしました。このアプローチはMicrosoftのドキュメントhereに記載されています。 TargetFrameworknet472

に設定すると、派生クラス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 

を編集することによって、この問題を修正しましたか?

+0

.netコアのどのバージョン? –

+0

.NET Framework 4.7.2で実行されているASP.NETコア2.0 –

答えて

0

5分を要求していますが、最大値は2分です。 2分を超える値は無視され、レジストリに設定されている値に制限されます。

関連する問題