C# Unterschied zwischen Dienst und Einfache-Anwendung?

Zeboo

Lt. Commander
Registriert
Juli 2008
Beiträge
1.562
Hallo,

möchte ein "Programm" erstellen was im Hintergrund auf einem Windows System laufen soll. Jetzt kam ich auf die Idee, das ich vielleicht am besten ein Dienst erstelle (Mit Visual Studio einfach Projekt/Neu/Dienstanwendung).

Dann habe ich mich gefragt was der eigentliche unterschied wäre? Kann nämlich eine einfache Anwendung schreiben und das per Geplante Task immer im Hintergrund laufen lassen und das ganze würde ich im Grunde auch mit einem Dienst machen, nur brauche ich da nichts im Feld Geplante Tasks zumachen, sondern stelle alle unter Dienste ein. Was wäre jetzt sinnvoller? Gruß
 
kommt drauf an, was du überhaupt vor hast, wenn du sowieso kein Frontend brauchst zur Steuerung und keinerlei Input ala Konsole, dann kannst du das natürlich als Dienst laufen lassen, musst aber bedenken, dass wenn ich mich recht erinnere, man Admin-Rechte braucht, um Dienste ausführen bzw. sie zu starten.

Außerdem werden Dienste üblicherweise automatisch, also zu einer bestimmten Zeit, z.B. beim Hochfahren gestartet und nicht manuell.

Eigentlich kannst du es erst mal als normale Anwendung schreiben, damit du einfacher Feedback bekommst und wenn du dann denkst, du hast die gewünschte Funktion, kannst es ja immernoch zu nem Dienst umbauen...

Was hast du denn vor?
 
du musst aber auch berücksichtigen das ein Dienst die ganze Zeit läuft, dein programm aber, wenn es z.b. nur einmal in der stunde etwas machen soll, 99% im leerlauf steht und einfach nur prozessorzeit und arbeitsspeicher verschwendet.

und bei diensten musts du natürlich absolut sicher gehen das die nicht irgendeinen fehler verursachen. sonst schmieren die ab und der user/ du bekommen es nicht mit. oder schlimmereres.....

icgh würde es erstmal als simples programm anbieten und es ggf. als service ummodeln.

aber mein Vorredner hat schon recht. wenn du ein bisschen genauerbeschreibst was du vorhast kann man die Antworten genauerer Spezifizieren und bessere Vor- / Nachteile nennen :)
 
Ja die Anwendung braucht wirklich keine Frontend. Möchte das das nur im Hintergrund läuft und verschiedene Aufgaben erledigt - ab und zu kann das beendet werden wenns nicht benötigt wird, aber das geht ja bei Diensten auch einfach.

Denke schon das es ein Dienst werden soll, aber für den Anfang ist tatsächlich ein simples programm am besten geeignet.
 
Wenn du ein Tool schreiben willst, das regelmäßig, anhand eines bestimmten Zeitplanes, z.B. bestimmte Laufwerke leeren soll, oder sonstige Aufräumarbeiten unternehmen soll, dann ist ein geplanter Task (Aufgabenplaner unter Win7) die predistinierte Lösung dafür.

MMn brauchst du dafür keinen Dienst, der eigentlich dafür gemacht ist bestimmte Funktionalitäten bereitzustellen oder auf irgendwelche Events zu reagieren, oder einfach zu "horchen".


Wenn du unbedingt basteln willst könntest du aber z.B. mit Webservices arbeiten. Das macht z.B. Sinn, wenn dein Aufräumprogramm auf verschiedenen Servern ausgerollt hast un deren Ergebnisse zentral verwalten möchtest.
 
Zurück
Oben