我的mvc银行应用程序中有这个PerformTransaction();
方法。我的要求是insertTransaction();
和updatetransaction();
这是重要的执行方法。
在执行此2方法之后,我想向用户显示成功消息,并且在backgound中,剩余的方法应该在以后执行。因为每次调用这些方法都会对我的应用程序性能造成严重影响。我正在使用隔离级读取提交。
此日志记录过程非常耗时,应该在后台运行。 (我使用Linq to sql)
实现这一目标的正确方法是什么。我应该使用哪种方法?
public ActionResult PerformTransaction(int id = 0)
{
insertTransaction();
updatetransaction();
//later execution
insertlogg();
updatelogg();
logger();
return Json(new
{
success = status.Status,
message = status.Message
});
}
答案 0 :(得分:0)
我建议您使用System.Threading
,以便在执行后继续使用。
例如:
public ActionResult PerformTransaction(int id = 0)
{
insertTransaction();
updatetransaction();
//later execution
System.Threading.Thread TInsert = new System.Threading.Thread(insertlogg());
TInsert.Start();
System.Threading.Thread TUpdate = new System.Threading.Thread(updatelogg());
TUpdate.Start();
System.Threading.Thread TLogger = new System.Threading.Thread(logger());
TLogger.Start();
return View("Edit");
}
有关线程的详细信息,请参阅MSDN。
我没有看到您的成功日志的任何示例,所以我不会把它放在这里。