2 Stimmen

Planen Sie eine C#-Anwendung

Ich habe eine Anwendung entwickelt, die eine Verbindung zu einer Pop3-Mail herstellt, die E-Mails liest und sie in eine Datenbank einfügt. Ich brauche diesen Dienst, um die Aufgabe einmal pro Stunde zu erledigen. Könnte mir bitte jemand dabei helfen, weil ich nicht weiterkomme?

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();
   }

Ich bin kein großer Programmierer, also entschuldigen Sie bitte meine schlechte Verwendung der Sprache. Die ganze Funktionalität ist hier drin, aber ich weiß einfach nicht, wie man es zeitlich einstellt und es kontinuierlich laufen lässt. Danke vielmals

4voto

Vagif Abilov Punkte 9537

Wenn Sie Ihre Anwendung "so wie sie ist" verwenden möchten, können Sie sie mit dem Windows Taskplaner konfigurieren, einem Dienst, der in jeder Windows-Version enthalten ist.

Ein anderer Ansatz ist die Erstellung eines dedizierten Windows-Dienstes, aber dazu müssen Sie Ihre Anwendung von einer Konsolenanwendung in einen Windows-Dienst umschreiben (früher hieß das "NT Service").

Ich hoffe, das hilft.

2voto

TomTom Punkte 1

Vergessen Sie die Windows-Dienste - das ist ein unbarmherziger Ansatz. Das Hauptproblem hier: Ein Dienst ist die ganze Zeit aktiv. Sie möchten, dass ein einfacher Prozess einmal pro Stunde gestartet wird, was vielleicht 2 Minuten dauert.... und nicht den Speicher für den Rest der Stunde verstopft.

Verwenden Sie den Aufgabenplaner von Windows. Erstellen Sie eine Befehlszeilenanwendung für den Download und starten Sie sie einmal pro Stunde oder nach einem beliebigen Zeitplan (stündlich in der Nacht, alle 15 Minuten am Tag) mit dem Planer. Beendet.

http://en.wikipedia.org/wiki/Task_Scheduler hat einen guten Link dazu, wie das funktioniert.

0voto

Peter Lillevold Punkte 32995

Und wenn Sie die Feinheiten nicht selbst implementieren wollen, gibt es nette Bibliotheken, wie <shamelessplug> DemiCode-Scheduler </schamelessplug> und Quarz.NET .

-1voto

C.Evenhuis Punkte 25310

Es gibt eine Menge Tutorials, die erklären, wie man einen Dienst schreibt - ich schlage vor, Sie beginnen dort (geben Sie einfach "C# Service Tutorial" in Google)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X