2009-11-20 20 views
14

So da quando Vista, che C# non può collegare un modulo UI direttamente al servizio Windows. Questo è stato dichiarato sul sito di Microsoft.Comunicazione servizio interfaccia grafica e Windows

La mia domanda al riguardo è: "Qual è la migliore modalità di comunicazione da un'interfaccia utente al servizio?"

Ho sentito parlare di servizi remoti, servizi Web e TCP diretto. Ci sono altri metodi? Come si classificano rispetto ai metodi menzionati in precedenza? Quanto sono complicati da implementare?

La mia applicazione è per uso intranet, non internet. La piattaforma Microsoft sarà su entrambi i lati, quindi l'interoperabilità non è un fattore, ma la velocità lo è. Voglio dire, voglio attraversare il più piccolo pacchetto possibile sulla rete.

TIA

risposta

22

Se si sta per lo sviluppo con .NET, utilizzare WCF per la comunicazione interprocesso. WCF semplifica enormemente lo sviluppo perché le complessità associate a uno specifico meccanismo di comunicazione (ad es. Socket, pipe, ecc.) Sono astratte dietro un modello di programmazione unificato. Pertanto, non importa se si sceglie di usare http, tcp o named pipe per il proprio meccanismo di trasporto, il modello di programmazione è lo stesso.

Consiglio vivamente il libro di Juval Lowy Programming WCF Services per tutte le cose WCF. Puoi anche visitare il suo sito web, IDesign.net, per esempi di codici WCF gratuiti.

Per una panoramica di WCF, guarda questo video libero su dnrTV. Copre lo scopo di WCF e dimostra la programmazione della WCF attraverso alcuni esempi facili da seguire.

Se non è già stato creato il servizio di Windows ma si prevede di farlo in C#, è possibile seguire la procedura dettagliata here.

1

Ci sono molti modi per comunicare tra i processi - named pipe, mailslots, file mappati in memoria, prese di corrente, gli oggetti ActiveX/COM, solo per citarne alcuni. Si riduce davvero a quali tecnologie hai familiarità/confidenza.

Problemi correlati