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

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

任務可靠性(或者我應該做其他事情嗎?)

任務可靠性(或者我應該做其他事情嗎?)

C#
收到一只叮咚 2021-10-09 16:14:00
我有一個使用 Nancy 和 Nancy.Hosting.Self 的 C# 控制臺應用程序。這個想法是它將通過 Nancy 為 API 提供服務,并且主應用程序將定期輪詢與各種應用程序的多個連接+當通過 API(通過 Nancy)請求時從這些連接獲取數據。所以我將有 2 個正在運行的進程,常量輪詢和 HTTP 服務器。我的 Program.cs 包含以下片段。Task pollTask = null;try {  pollTask = Task.Run(async () => {    while (processTask) {      connectionPool.PollEvents();      await Task.Delay(configLoader.config.connectionPollDelay, wtoken.Token);    }    keepRunning = false;  }, wtoken.Token);}catch (AggregateException ex) {  Console.WriteLine(ex);}catch (System.Threading.Tasks.TaskCanceledException ex) {  Console.WriteLine("Task Cancelled");  Console.WriteLine(ex);}然后...using (var host = new Nancy.Hosting.Self.NancyHost(hostConfigs, new Uri(serveUrl))) {  host.Start();  // ...  // routinely checking console for a keypress to quit which then sets  // processTask to false, which would stop the polling task, which  // in turn sets keepRunning to false which stops the application entirely.}輪詢任務似乎只是死亡/停止,沒有任何輸出到控制臺來表明它停止的原因。在檢查控制臺輸入按鍵時,我還查詢了 pollTask.Status,它最終詳細說明了“Faulted”。但我不知道為什么。我也在質疑長期/永遠運行的任務的可靠性。為避免這種情況含糊不清,我有一個主要問題。Task 是否適合以上述方式永久運行的任務。如果不是,我應該使用什么來實現 2 個并行進程,其中一個是 Nancy。
查看完整描述

2 回答

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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