处理数据时返回视图

时间:2017-02-10 19:15:18

标签: c# asynchronous async-await

我以前从来没有在我的生活中编写异步方法。 我刚刚阅读了以下网站:https://msdn.microsoft.com/en-us/library/mt674882.aspx

但它对我来说并不完全清楚......

我想要一个functie在处理数据时返回视图。在视图加载之前,用户不必等待de数据进行处理。 因此,返回视图并继续在后台处理数据....

使用异步编程可以实现以下伪代码吗?

public async actionresult page(object obj)  
    {   
       SQLUploadToDatabase(obj);  

       string x = DoOtherWork();  

       return View(x);  
    }  



Public void SQLUploadToDatabase(object obj)
{
      conn = SQL.openconnection; 
      conn.inserttotable(obj);
}

1 个答案:

答案 0 :(得分:0)

看来你正在寻找火灾和忘记方法。如果您不关心后台工作成功或失败,您可以使用 -

public ActionResult Page(object obj)
{
    Task.Run(() => SQLUploadToDatabase(obj));

    string x = DoOtherWork();

    return View(x);
}

如果您想知道它是成功还是失败,您想要使用HangFire或Quartz.NET等后台调度程序。您可以在How to run Background Tasks in ASP.NET了解更多信息。