2010-07-18 15 views
6

Sto provando a creare un servizio Windows con C# in .net che viene eseguito prima che l'utente sia connesso ... quindi quando un utente è connesso a un simbolo dovrebbe apparire nella barra delle applicazioni (accanto all'orologio) per mostrare all'utente che il servizio è in esecuzione .. facendo doppio clic sul simbolo che un'utilità di configurazione (scritta in wpf) deve essere mostrata all'utente, in modo che possa configurare il servizio, leggere i dati da esso e così via ..Servizio Windows con strumento di gestione WPF

c'è una possibilità di farlo in una sola applicazione?

grazie in anticipo per qualsiasi aiuto !!!

risposta

4

No, non è possibile farlo con un'applicazione in quanto i servizi vengono eseguiti con un utente diverso in una sessione diversa. È necessario creare due applicazioni e implementare alcune comunicazioni tra entrambi.

Non è consigliabile utilizzare direttamente named pipe (come Kieren Johnstone suggested), ma per dare un'occhiata a WCF che è stato progettato per la comunicazione tra processi e astrae piacevolmente i dettagli di implementazione della tecnologia di comunicazione lontano da voi. Ecco un link che può essere utile per aiutarvi con WCF: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication.

migliori saluti,
Oliver Hanappi

3

All'interno di un'applicazione, n. Servizi eseguita nella sessione 0, vedere qui:

http://www.microsoft.com/whdc/system/sysinternals/session0changes.mspx

La cosa migliore è quella di utilizzare named pipe, vedere qui:

http://www.switchonthecode.com/tutorials/dotnet-35-adds-named-pipes-support

.. ..o un file mappato in memoria, vedi qui:

http://msdn.microsoft.com/en-us/library/dd997372.aspx

Nell'ambito del più-.NETty, si potrebbe anche usare Remoting. Avrai bisogno di trovare qualche interfaccia o protocollo per facilitare la comunicazione tra il servizio e l'utilità di gestione. La gestione dell'avvio/arresto del processo sarebbe più semplice e potreste utilizzare la classe ServiceController (MSDN ref).

La speranza che aiuta (e non è troppo scoraggiante)!

Problemi correlati