【发布时间】:2011-01-12 02:06:21
【问题描述】:
我正在制作一个基本的自托管 WCF 服务,我只是想知道在它接受请求时让它等待的最佳方法是什么?我发现的所有基本教程都只是使用 Console.ReadLine 来等待用户按 Enter 键退出。对于实际应用来说,这似乎不太实用。我试了一会儿(真);循环,但这消耗了所有可用的 CPU 周期,所以它不是一个选项。我也尝试过 Thread.Sleep(0),但是服务在睡眠时不会接受请求,所以这也没有用。我确信有一些常见的方法可以让您的程序“停止”以等待 WCF 请求;有人知道怎么做吗?
我正在使用 C#、.NET 3.5 sp1。
【问题讨论】:
-
值得注意的是,Thread.Sleep(0) 只休眠足够长的时间让其他线程运行,然后返回。它不会产生等待任何时间的效果。您可能已经为 Thread.Sleep(Timeout.Infinite) (值为-1)无限期阻塞,但 ManualResetEvent 比这更好。
-
很高兴知道。感谢您的帮助!