Mi piacerebbe creare e gestire un'applicazione di servizio Windows senza "aiuto" dal designer di Visual Studio.Servizio Windows senza interferenze di Visual Studio
Poiché questo è NET, e giudicare da MSDN e ciò fa il progettista, questo significa eredita da Installer
, e la costruzione e trattare con ServiceProcessInstaller
e ServiceInstaller
per poter gestire l'esecuzione al momento dell'installazione del serivce.
runtime, questo significa creare una sottoclasse ServiceBase
e partendo da Main
usando ServiceBase.Run
(e vari metodi di override movimentazione ServiceBase
eventi).
Tuttavia, quando faccio questo, Visual Studio insiste sul trattamento delle sottoclassi Installer
e ServiceBase
come file di progettazione. Questo non aiuta di certo la leggibilità, per non parlare del fatto che in genere non è in grado di gestire il codice scritto a mano. Vorrei evitare che il progettista mantenga le cose gestibili (per evitare nebulosi who-knows-what-runs-when, in particolare per il codice che è difficile da testare e eseguire il debug come i servizi Windows che dopo tutto devono essere installati su essere eseguito a tutti), e anche di essere in grado di specificare il nome del servizio in fase di esecuzione, piuttosto che in fase di compilazione - il progettista non lo supporta.
Come posso creare un'applicazione di servizio Windows senza tutto il gunk?
Si potrebbe desiderare di avere uno sguardo al progetto TopShelf - http://topshelf-project.com/ – stuartd
hmm - pulito! Sembra un po 'eccessivo e non ancora maturo, ma se dovessi scrivere una nuova app, la considererei sicuramente. –