Question

Je dois créer de nombreux services Windows pour accueillir de nombreux services WCF pour que je puisse arrêter un seul (par exemple pour le mettre à jour) et de garder l'autre fonctionnement.

Depuis que je ne veux pas créer un service Windows pour chaque service WCF je, je suis en train de créer une application C # qui peut s'inscrire en tant que service Windows, mais avec des paramètres différents (et nom de service bien sûr).

Par exemple appeler ainsi:

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

Cela crée deux services Windows différentes comme celles-ci:

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

Je ne peux pas trouver un moyen de faire autre que d'éditer directement le Registre.

Était-ce utile?

La solution

Je l'ai trouvé une façon plus agréable de le faire: sc.exe

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

donc je juste besoin de créer une chauve-souris / cmd pour lancer cette commande.

Autres conseils

De par sa nature, un service est conçu pour être le feu à une procédure pour faire face à une chose en particulier, et ayant plusieurs instances est généralement pas une bonne idée. Cependant, il est possible de faire ce que vous voulez; par exemple, vous pouvez avoir plusieurs instances de SQL Server en cours d'exécution à un moment donné.

Avoir une lecture de cette . En gros, votre installateur de service peut être donné une ligne de commande ou autre argument configurable qui indiquera le nom auquel il doit se faire enregistrer dans Windows en tant que service. Ceci est normalement automatique sur la base de l'installateur de service et les propriétés exécutables de service, mais tout cela peut être réglé dynamiquement aussi bien. Modifiez le nom, et que vous modifiez l'enregistrement de service. Le nom du service doit être (AFAIK) inspectable par la course d'être exécutable comme le service, ce qui peut lui dire le service WCF dont il est responsable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top