在将动作结果发送给用户后,在ASP.net MVC中执行代码

时间:2011-08-26 22:09:03

标签: asp.net-mvc asp.net-mvc-3

我有一个ASP.net MVC控制器操作,需要做一些代码(清理,发送电子邮件,......),以防操作成功。

我不想让用户在此期间等待。所以我想知道在执行操作后是否有办法执行代码并且结果已经发送到浏览器。

2 个答案:

答案 0 :(得分:2)

使用任务,我发现它们比线程更容易使用。

http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx

如果您正在使用类似实体框架的东西,我们使用我们创建的名为INotifySaving的接口,并在我们的datacontext中,如果我们保存的实体实现INotifySaving,我们称之为OnSaving方法。在OnSaving中,我们经常使用任务来运行更长的运行方法。希望有所帮助。

答案 1 :(得分:0)

我认为最简单的方法是使用Visual Studio Async。目前它在SP1中,但效果很好。任务,线程,异步控制器在这个问题上并不好