私はC#WebAPIプロジェクトを持っていて、NESTを使ってローカルのElasticSearchデータベースに接続しています。 WebAPIとElasticSearchは、2つの別々のWindowsサービスとして実行されています。私が気づいた問題の1つは、ESサービスがWebAPIよりも前に起動しなければならないことです。さもなければ、WebAPIが利用できないデータベースを初期化しようとして失敗することがあります。ElasticSearchが起動して実行されるのを待つ
この問題は、Windowsサービスオプションに依存関係を強制することで部分的に解決されています.WindowsはまずESを起動してからWebAPIを起動します。 ESが実際に準備が整うまでに時間がかかることがあり、WebAPIサービスが失敗する可能性があるため、問題は完全に解決されません。
オプション/タイムアウト/再試行NESTライブラリに設定して、データベースへの最初の要求を発行するまで待つことができますか? DIYに行って自分のリトライループをコードする必要がありますか?
「自動(遅延開始)」に設定されたWebAPIスタートアップタイプはありますか? – mjwills
はい、また、依存関係セットがあります(タブの「サービスプロパティの下の依存関係」) –
NESTライブラリのAPIまたは何かを求めていました –