Frage

Ich benötige eine Hintergrundanwendung, um meine Client -Anwendung zu unterstützen, die immer auf dem Client -Computer ausgeführt werden sollte, unabhängig von der Haupt -Client -Anwendung, die ausgeführt wird oder nicht.

Windows Service war meine erste Wahl, aber Probleme, mit denen ich mit Windows Service konfrontiert war, waren: Einfacher Kontrolle über den Windows -Service über die Hauptclientanwendung, die Freigabe und die Installation von Patches an den Windows -Dienst und die Fehlerbehebung, wenn der Windows -Service nicht ausgeführt wird.

Ich begann also nach Alternativen zum Windows -Dienst zu denken und stellte fest, dass eine Windows -Anwendung ohne sichtbare Form für mich tun kann. Diese unsichtbare App sollte mit dem Start des Systems beginnen und ständig ausgeführt werden und alle Arbeiten erledigen, die ein Windows -Dienst erledigen würde. Aber bevor ich tiefer in die Entwicklung gehe, möchte ich die Vor- und Nachteile dieses Ansatzes untersuchen.

Irgendwelche Vorschläge/Kommentare zu diesem Ansatz?

War es hilfreich?

Lösung

Ihre Anforderungen eignen sich besser für Windows -Service. Der Hauptvorteil beim Windows -Service besteht darin, dass es startet, sobald das System auftaucht, unabhängig von jemandem, der in das System angemeldet ist oder nicht.

Um Bereitstellungsprobleme zu sortieren, erstellen Sie Ihre Geschäftslogik in separate Montage und rufen die erforderliche Funktion mit Windows -Dienst auf. Auf diese Weise können Sie nur die geänderte Baugruppe bereitstellen.

Die Winform -Anwendung mit unsichtbarem Formular erfüllt den Zweck nicht. HTH

Andere Tipps

Das ist nicht möglich. Benutzer-Mode-Anwendungen müssen von einem Benutzer gestartet werden und werden nicht weiter ausgeführt, wenn sich dieser Benutzer anmeldet. Das ist der Zweck der SessionEnding Ereignis: Damit Sie Ihre App anmutig schalten können, wenn sich der Benutzer abmeldet oder der Computer herunterfährt. Sie können nicht einfach etwas beim Systemstart starten und es ständig laufen lassen.

Dafür benötigen Sie einen Windows -Dienst. Sie sollten sich jedoch bewusst sein, dass ein Dienst unter Windows Vista und später nicht direkt mit dem Benutzer interagieren kann. Sie laufen in einem separaten Prozess und dürften ihre eigene Benutzeroberfläche angezeigt haben. Aus der Frage ist nicht klar, was Ihre Bedürfnisse sind, aber dies ist eine wichtige Einschränkung eines Windows -Dienstes, der es wert ist, in Betracht zu ziehen. Ein richtiges Design sollte dies wirklich nicht erfordern, aber es gibt anscheinend viele Menschen, denen dieses neue, sicherere Verhalten eine echte Überraschung ist. Ich erkläre dies ausführlicher in verwandten Antworten auf diese Frage und Diese andere Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top