gpt4 book ai didi

c# - 在 ASP.NET/C#/IIS 站点上实现守护进程?

转载 作者:行者123 更新时间:2023-11-30 18:09:46 28 4
gpt4 key购买 nike

我想为我们的中型消费者网站实现一个 POP3 邮箱处理组件。我们的站点使用 IPSwitch 作为邮件/smtp/pop 主机。

此处理组件将使我们能够提供“通过电子邮件回复此留言板讨论”类型的服务。它需要不断运行;或者至少,每 3-5 分钟左右。

我很确定我知道在 C# 中实现这个 POP3 阅读器需要做什么,但是我只是不确定让它每 3-5 分钟发生一次的机制,在机器重新启动等时保持运行。任务计划程序似乎有点脆弱。这应该写成 Windows 服务吗?如果是这样,我能得到一些关于如何用 C# 编写可安装服务的好建议吗?或者,如果有更好的计划在 IIS 机器上运行守护进程,我将不胜感激。

最佳答案

您可以在后台运行一个线程,只要您的应用程序处于事件状态,该线程就会持续存在。因此,在您的 global.asax 中,在 Application_Start 上运行类似

Thread  thread = new Thread(new Task());
thread.Start();

和你的任务:

private void Task()
{
//do something
Sleep(TimeSpan.FromMinutes(15).ToMilliseconds());
}

我自己还没有测试过上面的代码,但我认为应该可以。以下链接显示了构建简单调度程序的教程:

http://nayyeri.net/how-to-build-a-task-scheduler-system-for-the-asp-net-part-1

请记住,当您的应用程序尚未运行/初始化时,该任务不会执行,但我认为这在您的场景中不是问题。

关于c# - 在 ASP.NET/C#/IIS 站点上实现守护进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2256419/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com