C#.NET 使用Task.Run和Task.Delay 延时执行任务(代码)
环境:
.NET 4.5.2
.NET WEB MVC + WEB API。
示例代码:
using CommonUtils; using System; using System.Threading.Tasks; using System.Web.Http; namespace WebApiTaskDelay.ApiControllers { public class MyController : ApiController { // GET: api/My public string Get() { #region MyRegion Task.Run(async () => { Log4NetUtil.Info("Delay 1:" + DateTime.Now.ToString("HH:mm:ss.fff")); await Task.Delay(6000); //换成自己的业务(任务)代码 Log4NetUtil.Info("Delay 2:" + DateTime.Now.ToString("HH:mm:ss.fff")); }); #endregion Log4NetUtil.Info("同步返回:" + DateTime.Now.ToString("HH:mm:ss.fff")); return "111:" + DateTime.Now.ToString("HH:mm:ss.fff"); } // POST: api/My public void Post([FromBody]string value) { } } }
执行效果。
INFO 2023-12-01 11:32:32,658 41ms [6] OH Info - 同步返回:11:32:32.615 INFO 2023-12-01 11:32:32,660 43ms [7] OH Info - Delay 1:11:32:32.617 INFO 2023-12-01 11:32:38,678 6061ms [6] OH Info - Delay 2:11:32:38.678
-
标签:11,Info,Task,Run,C#,32,Delay,NET From: https://www.cnblogs.com/runliuv/p/17869381.html