繁体   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