2012-12-02 11 views

risposta

11

Topshelf è la mia preferenza perché consente di ottenere il meglio da entrambi i mondi un servizio e un'applicazione di console. L'utilizzo di sc.exe consente di eseguire qualsiasi applicazione di console come servizio, ma l'exe non interagisce come servizio stesso. Sviluppando direttamente i servizi Windows, disponi di un servizio e interagisci come uno con Windows, ma non è facile eseguirne il debug o eseguirlo come una normale applicazione console. Topshelf ti consente di sfruttare al meglio sia l'esecuzione come servizio che l'esecuzione come una normale applicazione console.

+0

Ora vedo la differenza, grazie :) – user1121956

2

di Windows Services sono tipi di applicazioni speciali che rispondono al servizio messaggi di controllo come Start, Stop, Pausa, Avanti ecc

Se è vero che si può usare qualcosa come Sc.exe di trasformare qualsiasi tipo di processo in un servizio, quei processi non gestiranno i messaggi di controllo menzionati in precedenza. Quello che troverai comunemente è che sarai in grado di avviare un processo ma non fermarlo, ecc.

Quello che tendo a fare è astrarre i miei servizi (penso che Topshelf lo faccia), avere una libreria di servizi che può essere caricato da un'applicazione di servizio Windows nativa o un'applicazione di console in modo da poter disporre del meglio di entrambi i mondi (in genere il debug in console).

+0

Ora vedo la differenza, grazie :) – user1121956