业务场景:提交订单后需要推送微信消息。但是推送消息执行的有点慢导致订单提交时间过长
解决办法:消息提送部分异步执行
定义异步执行的公共类
public class TaskEx { /// <summary> /// 异步执行,并TRY /// </summary> /// <param name="type"></param> /// <param name="action"></param> public static void Run(Type type, Action action) { System.Threading.Tasks.Task.Run(() => { try { action(); } catch (Exception ero) { LogHelper.LogWrite($"Common.Task[{type}:{ero.ToString()}]"); } }); } }
在程序中调用
Common.TaskEx.Run(GetType(), () => { new MsgBusiness().SendOrderMsg(orderinfo, userInfo); });