1

在做某事之前,我需要让网页等待几秒钟。假设出于“安全”原因,我不能使用Thread该类,所以我不能调用它的Sleep方法(不要问)。

我 McGyvered 这个解决方案:

DateTime foo = DateTime.Now.AddSeconds(5);

while (DateTime.Now < foo) {
    /*noop*/
}

它确实在控制台应用程序中工作,并且在我刚才所做的一个简单页面中工作。我有一半的心要使用它,但我阴影自我最黑暗的角落里一直有东西告诉我,我这样做只是在为自己的厄运铺平道路。我觉得它有一个陷阱,但我不知道它是什么。

使用安全吗?是理智的吗?

4

1 回答 1

2

尝试这个:

Mutex m = new Mutex();
w.WaitOne();
m.WaitOne(TimeSpan.FromSeconds(5));

这当然是一个黑客。但是您的要求是不要使用Thread.Sleep.

或者,调用休眠 5 秒的 Web 服务。这样,您至少不会在繁忙的循环中烧毁 CPU。

于 2013-07-11T21:27:44.830 回答