2013-02-26 83 views
0

在ASP.NET C#Web应用程序中,我希望在提交表单后执行异步操作。这是火,忘了。我不需要等待任何形式的回应。在单独的线程中执行延迟ASP.NET C#

我能做到这一点,如下所示:

System.Threading.ThreadPool.QueueUserWorkItem(delegate { TheThingToDo(); }); 

现在,我的TheThingToDo()方法中,我想一切揭开序幕之前引入的,比如说10秒的延迟。最简单的事情似乎是使用thread.sleep,因为我已经在一个单独的线程中,不关心执行被阻止。

是否有任何理由不这样做?还是有更优雅的解决方案?我查看了定时器,但是使用它们似乎在这种特殊情况下引入了更多的代码,没有太多好处?

+1

睡眠是正确的,Timer对于新线程来说只是一个包装,并且最有可能使用睡眠以及幕后。 – 2013-02-26 11:52:16

+1

我自己做过(在这种情况下使用'Thread.Sleep'),所以我希望没有理由不...... – AakashM 2013-02-26 11:59:19

回答

2

睡在线程是好的。

既然没有别的事情发生,你不关心结果或同步,最好的办法是KISS