2012-07-30 7 views

Antwort

8

Sie möchten wahrscheinlich einen Windows-Dienst verwenden.

Vorteile:

  • Sie den Benutzer steuern kann (und die mit diesem Benutzerkonto verbundenen Rechte), die den Prozess
  • Ein automatisch gestartet Prozess beginnt, bedeutet das Desktop auf, nicht vom Benutzer angemeldet sein müssen, für die Dienstleistung
  • eine Politik, bei einem Fehler laufen kann definiert werden (versuchen Sie n-mal ein bestimmtes Programm ausführen neu starten, wenn nicht)
  • eine Abhängigkeit definiert (wenn Sie auf andere sevices abhängen) werden kann
  • Sie können Ihr Skript in einem unsichtbaren Fenster wickeln
  • Sie können leicht Start/Stopp/Neustart das Skript (net start <scriptname>)

von hier Zitat:What is the benefit of developing the application as a windows service?

+2

Ausgezeichnete Antwort. Ich möchte hinzufügen, dass Sie für Vorfallszenarien eine kleine Webanwendung direkt in Ihrem Dienst hosten können. Auf diese Weise können Sie den Dienst remote steuern oder überwachen (achten Sie nur auf die Sicherheitsimplikation). Ein Beispiel dafür ist der [Rabbitmq Management Service] (http://www.rabbitmq.com/management.html). Ein kleiner eingebetteter Webserver ermöglicht dem Amdinistrator, den Dienst remote zu überwachen –

0

Windows-Dienst, da es keinen angemeldeten Benutzer erfordert.

0

würde ich sagen; Windows-Dienste

In diesem Fall (unter anderem) brauchen Sie keinen Benutzer, um angemeldet zu sein, Sie können es so konfigurieren, dass es automatisch neu startet, wenn es aus irgendeinem Grund heruntergefahren wird und Sie umfassende Rechte haben das System.

0

Windows-Dienst im Allgemeinen. Die Konsolenanwendung muss neu gestartet werden, wenn der Server neu gestartet wird, während ein Windows-Dienst automatisch gestartet werden kann.

3

Eine laufende Konsole App ist keine Option, wie die anderen angegeben haben.

Wenn Sie nur die alle x Minuten die einfachste Option ausführen Aufgabe wollen, ist eine geplante Aufgabe eine Konsolenanwendung verwendet wird.

Ein Windows-Dienst hat seine Vorteile, ist aber ein wenig komplexer zu implementieren und bereitzustellen. Wenn Ihre App jedoch immer eingeschaltet sein muss (z. B. müssen Sie auf externe Auslöser reagieren, Nachrichtenwarteschlange anhören, ...), ist ein Windows-Dienst die einzige Option. Wie die anderen gesagt haben, stellt die Service-Infrastruktur auch mehr Management-Funktionen, eingebaute Integration mit den Ereignisprotokoll, Neustart und Failover-Optionen ...

+0

Danke Jeroenh !!Ja genau das ist meine Anforderung, ich sollte in der Lage sein, die Aufgabe auszulösen, sagen Sie alle x Minuten .. Können Sie pls erzählen, wie komplex es mit Dienstleistungen ist? – Juni

+0

http://www.pedatreppe.com/post/How-to-create-(and-deploy)-a-windows-service-in-C-.aspx – jeroenh

+0

Aber wie ich in meiner Antwort sagte, wenn Sie einfach brauchen die Aufgabe, alle x Minuten zu laufen, ist eine geplante Aufgabe viel einfacher und hat viele der gleichen Vorteile (kann unbeaufsichtigt laufen, einfache Bereitstellung, Integration mit Ereignisprotokoll usw.) – jeroenh

Verwandte Themen