.NET在异步任务完成之前返回响应

时间:2011-10-02 20:47:51

标签: c# asp.net .net asynchronous

我有一个webapp,用户提出更改大量数据的请求。也许持有1000个或更多的物品。

我预先验证这些请求,然后开始持久保存数据。它确实不需要单独持续LONG,而是需要几千倍才能实现。我正在使用OR / M框架,并且不想放弃它...而且它并不是真正的瓶颈。

我可以构建一个较小的对象图 - 只是一个关于如何保留其余部分的“计划”,然后以其他方式保留它,但我真的更喜欢更简单的解决方案。

理想情况下,我会验证,然后启动一个可以保留所有数据的异步任务。用户在验证后会得到确认,并且可以顺利地进行。

这在.NET中可行吗?有什么建议吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以先验证输入,设置某种状态标签,指示一切正常,然后在新线程中启动持久性部分。

我的意思是这样的:

 protected void Button1_Click(object sender, EventArgs e)
 {
      new Thread(() => { 
          //logic to save the data goes here.
      }).Start();
      Label1.Text = " Input validated. Thanks!";
 }

用户可以安全地关闭浏览器,操作将完成。

修改

碎玻璃'评论是正确的,因为这种方法不能很好地扩展。有一种更好的方法来执行这种类型的异步操作。这是detailed here.