Как запускать программу .NET автоматически каждый час - PullRequest
2 голосов
/ 11 марта 2010

У меня есть данные XML, к которым я обращаюсь через веб-сервис. Мне нужно прочитать данные и скопировать их локально. Приведенный ниже код работает нормально. Теперь мне нужно запускать этот код, по крайней мере, два или три раза в день без ручного вмешательства. Как я могу это сделать? Спасибо!

using System;
using System.Collections;
using System.Data;
using System.Xml;


 class MainClass{
public static void Main(){
XmlDocument doc = new XmlDocument();
// read
doc.Load(new System.IO.StringReader(GetContracts()));

// write
XmlTextWriter tw = new XmlTextWriter( "testOut.xml", null );
tw.Formatting = Formatting.Indented;
tw.Indentation = 4;
doc.Save( tw );
tw.Close();
}
}

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

Использовать планировщик заданий. Есть графический интерфейс и интерфейс командной строки для настройки задач.
Если вы используете графический интерфейс, найдите его в Пуск .... Панель управления .... Администрирование ... в Vista. Вы сможете понять, как правильно мыслить ежечасно, довольно легко.

alt text

если вы используете командную строку, проверьте документ: http://msdn.microsoft.com/en-us/library/bb736357(VS.85).aspx

schtasks.exe /create /tn "My Task" 
            /tr "C:\path\to\the\app.EXE arg1 arg2" 
            /sc DAILY /RI HOURLY  
            /st 12:00:00 /ru username /rp password

(выше должно быть все-на-одной линии)

1 голос
/ 11 марта 2010

Это действительно зависит от того, как вы хотите, чтобы планирование было выполнено. Если это всего несколько раз в день, я бы просто запланировал выполнение приложения на регулярной основе с помощью планировщика заданий в Windows.

0 голосов
/ 11 марта 2010

Quartz - хороший планировщик для java, конечно, вам нужно будет либо настроить jar для запуска с windows, либо установить на сервер приложений, такой как Tomcat или Jetty.

http://www.quartz -scheduler.org /

...