我如何让我的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秒重新运行一次而不是一次。
答案 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秒开始运行一次。