【发布时间】:2009-05-15 06:05:00
【问题描述】:
我有一个 Windows 服务,它基本上是访问邮箱和阅读电子邮件。我试图找出每 x 秒检查一次邮箱的最佳方法。
一种方法是调用 Thread.Sleep,然后再次调用 Start 方法,例如
protected override void OnStart(string[] args)
{
// get config settings
CheckMailbox();
}
public void CheckMailbox()
{
int x = 5000;
// do stuff
Thread.Sleep(x);
CheckMailbox();
}
不确定这是否是最好的方法。为了进一步探索这一点,我知道您可以通过 WCF 公开服务来调用 Windows 服务。在这种情况下,如果一个 Web 应用程序调用 Process 来启动,会有冲突的线程我正确吗?那我该如何处理呢?我每次都必须创建一个新线程并将其放入队列中吗?
【问题讨论】:
标签: asp.net windows-services wcf