| 

.NET C# Java Javascript Exception

6
Hallo zusammen,

ich grüble schon eine Weile über den oder die Wege, wie meine Client- und Dienst-Anwendung untereinander kommunizieren können. Der Hintergrund ist der:

Es läuft dauerhaft ein Windows-Dienst im Hintergrund, der verschiedene Arbeiten zyklisch (z.B. alle 5 Minuten durchführt).
Weiterhin gibt es eine Client-Anwendung, die die identischen Aufgaben ausüben kann (auf Knopf-Druck) und die die Konfiguration verändern kann, die in XML-Dateien gespeichert wird.

Nun soll es so sein, dass wenn der Dienst läuft, und jemand die Client-Anwendung startet, die Client-Anwendung dem Dienst mitteilt "Stop", dieser erst mal abwartet, und wenn die Client-Anwendung geschlossen wird, diese dem Dienst wieder sagt "Los gehts".

Das stoppen / starten des Dienstes ist leider keine Lösung, da dies Administrator-Rechte voraussetzen würde, die der Benutzer der Client-Anwendung nicht besitzt.

Die Kommunikation über eine Datei würde zwar irgendwie funktionieren, finde ich aber zu "altmodisch".

Welche Ansätze gibt es? Was sollte hier favorisiert werden?

Danke für eure Ideen!

Gruß
Benjamin
News:
27.02.2011
Gast
101 1 3
1 Antwort
2
WCF ist dafür gut geeignet wenn du zum Beispiel das "NetNamedPipeBinding" verwendest.

Diese Bindung ist für prozessübergreifende Kommunikation (normalerweise auf dem gleichen Computer) optimiert. Standardmäßig besitzt diese Bindung folgende Eigenschaften:

- Verwendet Transportsicherheit für die Nachrichtenübertragung und zur Authentifizierung.
- Verwendet Named Pipes zur Nachrichtenübermittlung.
- Implementiert binäre Nachrichtencodierung.
- Verschlüsselung und Nachrichtensignierung.

Es gibt folgende Optionen:

- Authentifizierung über Windows-Sicherheit.

Quelle: MSDN


Beispiele zur Implementierung von WCF-Services gibt es im Netz zu hauf.

http://www.programminghelp.com/programming/dotnet/wcf-creating-and-implementing-a-service-in-c/
http://bebugsblog.blogspot.com/2010/01/wcf-tutorial-1.html
27.02.2011
Floyd 14,6k 3 9

Stelle deine Client-Frage jetzt!