💻

Docker & .NETでWindowsサービスをが起動できない対処方法

2022/06/03に公開

.NET Core 3.1以降で提供されたMicrosoft.Extensions.Hosting.WindowsServicesを利用してWindowsサービスを実装した場合、2021年7月現在、起動時に以下のエラーが発生して実行することができません。

(1053): The service did not respond to the start or control request in a timely fashion.

これはWorkerテンプレートの問題で、.NET Core 2.1以前のようにSystem.ServiceProcess.ServiceControllerを利用することで障害は回避できます。

挙動的にMicrosoft.Extensions.Hosting.WindowsServicesの不具合だと思いますので、いずれかのタイミングで修正されると思いますが、それまではSystem.ServiceProcess.ServiceControllerを使う必要があります。

具体的な実装は以下を参考にしてください。

Discussion