亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET Core IHostedService 手動啟動/停止/暫停(?)

ASP.NET Core IHostedService 手動啟動/停止/暫停(?)

C#
肥皂起泡泡 2021-10-23 16:11:05
我想在 ASPNET Core 中實現一個可以按需停止和啟動的重復(定時)IHostedService 實例。我的理解是 IHostedService(s) 在應用程序啟動時由框架啟動。但是,我希望能夠“手動”啟動/停止服務,也許可以通過 UI 使用開/關切換。理想情況下,“關閉”狀態將處理當前正在運行的服務,然后“開啟”狀態將創建一個新實例。我在這里閱讀了 MS 文檔:https : //docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services? view = aspnetcore- 2.1。我最初的想法是獲取正在運行的服務的實例,然后調用公共StopAsync(CancellationToken token)方法。但是,當涉及到我應該傳遞哪個令牌時,我有點困惑,對于該StartAsync(CancellationToken cancellationToken)方法也可以這樣說。關于如何做到這一點的任何想法,或者甚至是可取的?我的方法是否與 ASPNET Core 中托管服務的預期設計背道而馳?編輯 7.27.2018因此,經過更多研究(也就是實際閱讀文檔 :D),托管服務的 StartAsync/StopAsync 方法確實意味著與應用程序的生命周期一致。注冊的 IHostedServices 似乎沒有添加到 DI 容器中以注入其他類。因此,我認為我最初的想法行不通?,F在,我使用IOptions<T>可以在運行時更新的配置依賴項 ( )注冊了我的服務。當托管服務正在處理時,它將檢查配置以查看它是否應該繼續,否則它將等待(而不是停止或處置托管服務)。我可能很快會將此標記為我的答案,除非我聽到其他一些想法。
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 221 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號