Frage

Ich brauche viele Windows-Dienste-Host viele WCF-Dienst zu erstellen, so dass ich einen einzigen stoppen kann (zum Beispiel, sie zu aktualisieren) und die andere am Laufen halten.

Da ich mich nicht habe einen Windows-Dienst für jeden WCF-Dienst erstellt werden soll, ich versuche, eine C # .NET-Anwendung zu erstellen, die sie als Windows-Dienst anmelden kann, aber mit unterschiedlichen Parametern (und Service-Namen natürlich).

Zum Beispiel es auf diese Weise aufrufen:

MyService.exe /install WcfService1.dll
MyService.exe /install WcfService2.dll

Dies erzeugt zwei verschiedenen Windows-Dienst wie diese:

WcfService1 -> MyService.exe /run WcfService1.dll
WcfService2 -> MyService.exe /run WcfService2.dll

Ich kann nicht einen Weg finden, diese andere zu tun, als direkt bearbeiten Sie die Registrierung.

War es hilfreich?

Lösung

Ich habe einen schöneren Weg gefunden, es zu tun: sc.exe

sc.exe create WcfService1 binPath= "MyService.exe /run WcfService1.dll"

so dass ich nur eine Fledermaus erstellen müssen / cmd diesen Befehl starten.

Andere Tipps

Mit seiner Art, ein Dienst ist so konzipiert, mit einer bestimmten Sache die Go-to-Prozess sein für den Umgang und mehrere Instanzen, die in der Regel keine gute Idee. Allerdings ist es möglich, zu tun, was Sie wollen; zum Beispiel können Sie mehrere Instanzen von SQL Server haben zu einem Zeitpunkt ausgeführt wird.

Haben Sie einen Lese von dieser . Grundsätzlich kann das Service-Installateur eine Befehlszeile oder andere konfigurierbare Argument angegeben werden, dass es den Namen sagen wird, auf die sie sich in Windows als Dienst registrieren sollte. Dies ist normalerweise automatisch auf der Basis der Service-Installateurs und Eigenschaften des Service ausführbare Datei, aber all dies kann auch dynamisch eingestellt werden. Ändern Sie den Namen, und Sie können die Service-Registrierung ändern. Der Name des Dienstes sollte (AFAIK) inspectable von der ausführbaren Wesen laufen als Dienst, der es den WCF-Dienst sagen kann, für die er verantwortlich ist.

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