c# - 如何在每30秒运行一个脚本?

时间:2013-05-05 20:00:01

标签: c# timer

我如何让我的ftp脚本每10或30秒运行一次?

ftp脚本:

FtpWebRequest makedir = (FtpWebRequest)WebRequest.Create("ftp://xxx.xxx.xxx.xxx/" + System.Environment.MachineName + "___" + System.Environment.UserName + @"/");
makedir.Method = WebRequestMethods.Ftp.MakeDirectory;
makedir.Credentials = new NetworkCredential("usr", @"passwd");
FtpWebResponse makedirStream = (FtpWebResponse)makedir.GetResponse();
makedirStream.Close();

我正在阅读有关在线程上使用睡眠以及使用计时器的信息。但是我无法弄清楚如何使用...事情是它还需要每30秒重新运行一次而不是一次。

1 个答案:

答案 0 :(得分:2)

将您的代码放在名为RunFtp()的方法中,然后像这样使用Timer:

var t = new System.Threading.Timer(o => RunFtp(), null, 0, 30000);

或使用Windows Task Scheduler重复计划和运行应用程序。

或者像这样使用Sleep()方法......

while (true)
{
    RunFtp();
    System.Threading.Thread.Sleep(30000);
}

...会导致代码在执行之间暂停30秒,但您还需要添加代码的执行时间。所以它不会准确地每30秒开始运行一次。