Azure App Service 擺放 BackgroundService 造成的問題

Azure App Service And BackgroundService 


起源是因為我希望在 Net Core API 專案背後再放上  BackgroundService,去跑一些服務

所以我的註冊裡面就有放入      AddHostedService

本機測試都正常

上到Azure App Service 則會直接掛掉

可能的原因來自於

   https://docs.microsoft.com/zh-tw/dotnet/architecture/microservices/multi-container-microservice-net-applications/background-tasks-with-ihostedservice

最後那一段

請務必注意,您部署 ASP.NET Core WebHost 或 .net 的方式 Host 可能會影響最終的解決方案。 例如,如果您在 IIS 上部署 WebHost 或一般 Azure App Service,則可能會因應用程式集區回收而關閉主機。 但是,如果您將主機作為容器部署到 Kubernetes 之類的協調器,您就可以控制主機的即時實例數目。 此外,您可以考慮在雲端中使用其他方法,特別是針對這些案例 (例如 Azure Functions)。 最後,如果您需要服務持續持行,並準備部署到 Windows Server 上,您可以使用 Windows 服務。

但即使是 WebHost 部署到應用程式集區的,還是會有一些案例,例如重新填入或清除應用程式的記憶體內部快取,但仍適用。

IHostedService介面提供一種便利的方式,可讓您在 .net core 2.0 和更新) 版本中 (的 ASP.NET Core web 應用程式中啟動背景工作,或在任何程式/主機 (以) 啟動 .net core 2.1 IHost 。 它的主要優點是您可以在主機本身關閉時,透過正常取消來清除背景工作程式碼的機會。

 

解決辦法:

目前到現在還不知道怎麼解決

他會告知錯誤

Logging is not enabled for this container

這類的錯誤