我开发了一个应用程序来连接pop3邮件,阅读电子邮件并将它们插入数据库。我需要这项服务每小时完成一次任务。有人可以帮助我,因为我被卡住了吗?
static void Main(string[] args)
{
TcpClient Server;
NetworkStream NetStrm=null;
StreamReader RdStrm=null;
string Data, tmpMessage="", mail="", szTemp, CRLF = "\r\n", ch="";
byte[] szData;
int i=0, counter=0;
MySqlConnection connection = new MySqlConnection();
[snip]
Console.WriteLine(RdStrm.ReadLine());
connection.Close();
Console.ReadLine();
}
我不是一个程序员,所以请原谅我对该语言的错误使用。 所有功能都在这里,但我只是不知道如何计时并让它连续运行。 非常感谢
答案 0 :(得分:4)
如果您希望“按原样”使用您的应用程序,则可以使用Windows任务计划程序对其进行配置,Windows任务计划程序是每个Windows版本中都包含的服务。
另一种方法是创建专用的Windows服务,但这需要您将应用程序从控制台应用程序重写为Windows服务(以前称为“NT服务”)。
希望这有帮助。
答案 1 :(得分:2)
忘记Windows服务 - 这是一种无情的方法。这里的主要问题是:服务一直存在。你想要一个简单的过程每小时开始一次,大约需要2分钟....而且不要让那个东西在剩下的时间内堵塞你的记忆。
使用Windows中的任务计划程序。创建一个命令行应用程序来执行下载,使用调度程序每小时启动一次或者您想要的任何计划(每小时在夜间,每天15分钟)。结束。
http://en.wikipedia.org/wiki/Task_Scheduler有关如何运作的良好链接。
答案 2 :(得分:0)
如果你不想实现你的细节,那里有很好的库,比如< shamelessplug> DemiCode Scheduler< / shamelessplug>和Quartz.NET。
答案 3 :(得分:-1)
有很多教程可以解释如何编写服务 - 我建议你从那里开始(只需在google中输入“C#服务教程”)