簡體   English   中英

如何從 asp.net 核心 C# 中調用的線程調用公共異步任務方法()?

[英]How to call public async Task Method() from a Thread calling in asp.net core C#?

我想從 asp.net 核心 C# 中的線程調用中調用公共異步任務方法()。 但是在調用時收到錯誤消息。

遵循異步任務方法:

public async Task PaymentCheck()
{
   try{
     var result = _context.BillPayment.Where(d => d.PaymentStatus == 2).ToList();
     var resultdata = await _pendingPaymentActions.InprogressPaymentCheck(111);
   }
   catch(Exception ex){}  
   
}

現在我想通過線程調用來調用上面的方法:

Thread backgroundThread = new Thread(new ThreadStart(PaymentCheck)); 
backgroundThread.Start();

但出現錯誤: “PaymentCheck() 的返回類型錯誤”

我不認為在 asp.net 內核的單獨線程中調用異步任務方法是一個好方法,您只需要使用await關鍵字調用該方法,例如...

   public async Task PaymentCheck()
    {
       try{
         var result = await _context.BillPayment.Where(d => d.PaymentStatus == 2).ToListAsync();
         //Use ToListAsync() instead of ToList() to avoid blocking while waiting for the database to respond
         var resultdata = await _pendingPaymentActions.InprogressPaymentCheck(111);
       }
       catch(Exception ex){}  
       
    }

叫它...

await PaymentCheck(); // 因為沒有返回類型

另外,不要吃異常至少將其寫入日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM