public async Task <IActionResult> RegisterActive([FromBody] ModelRegisterActive model) { IActionResult _result = BadRequest(); CancellationTokenSource source = new CancellationTokenSource(); var tasks = Task.Run(async delegate { ModelResponseMessageRegisterActive e = await _IRegisterUserService.AddRegisterActiveAsync(model); if (e.Status == true) { _result = Ok(e); string serverip = Encoding.UTF8.GetString(Convert.FromBase64String(_EnvironmentConfig.Server)); string register_id = Encoding.UTF8.GetString(Convert.FromBase64String(model.registerid)); string linkactive = $"{serverip}/{"efilling/log_in"}"; string mail_body = "<h3>คุณได้ลงทะเบียนเสร็จสิ้นตามขั้นตอนแล้ว</h3>" + Environment.NewLine + "<h2>อ้างอิงหมายเลข " + register_id + "</h2>" + Environment.NewLine + "<h4>ทั้งนี้คุณสามารถเข้าใช้งานระบบ ขอให้ท่านสนุกกับการใช้งาน! <a href='" + linkactive + "'>คลิ้กเพื่อเข้าสู่ระบบ</a>.</h4>"; await _EmailHelper.SentGmail(model.email, "eFilling : แจ้งผลการยืนยันลงทะเบียน", mail_body, ""); } return(_result); }); source.Cancel(); try { tasks.Wait(); } catch (AggregateException ae) { foreach (var e in ae.InnerExceptions) { Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message); } } if (tasks.Status == TaskStatus.RanToCompletion) { source.Dispose(); } return(_result); }