Domanda

Ho bisogno di creare molti servizi di Windows per ospitare molti servizio WCF in modo da poter fermare uno solo (per esempio per aggiornare) e tenere l'altra esecuzione.

Dato che non voglio creare un servizio di Windows per ogni servizio WCF che ho, sto cercando di creare un'applicazione C # che possono registrarsi come servizio di Windows, ma con parametri diversi (e il nome del servizio, ovviamente).

Ad esempio chiamando in questo modo:

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

Questo crea servizio di due diverse finestre come questi:

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

Non riesco a trovare un modo per fare questo diverso modificare direttamente il Registro di sistema.

È stato utile?

Soluzione

Ho trovato un modo migliore per farlo: sc.exe

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

quindi ho solo bisogno di creare un pipistrello / cmd per lanciare questo comando.

Altri suggerimenti

Per sua natura, un servizio è progettato per essere il go-to processo per trattare con una cosa particolare, e avere più istanze non è generalmente una buona idea. Tuttavia, è possibile fare ciò che si vuole; per esempio, è possibile avere più istanze di SQL Server in esecuzione in una sola volta.

Avere una lettura di questo . In sostanza, il vostro installatore servizio può essere dato qualche riga di comando o altro argomento configurabile che vi dirà il nome a cui si dovrebbe registrarsi in Windows come servizio. Questo è normalmente automatica basata su dell'installatore servizio e le proprietà di eseguibili servizio, ma tutto questo può essere impostato dinamicamente pure. Cambiare il nome, e si modifica la registrazione del servizio. Il nome del servizio dovrebbe essere (per quanto ne so) ispezionabile dall'essere corsa eseguibile come il servizio, che può dire che il servizio WCF per il quale è responsabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top