Comunicazione di servizi GUI e Windows

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

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 l’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 ansible sulla rete.

TIA

Se stai per sviluppare con .NET, usa WCF per la tua comunicazione tra processi. WCF semplifica enormemente lo sviluppo perché le complessità associate a uno specifico meccanismo di comunicazione (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 codice WCF gratuiti.

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

Se non hai già creato il tuo servizio di Windows ma prevedi di farlo in C #, puoi seguire la procedura qui .

Esistono molti modi per comunicare tra processi – named pipe, mailslots, memory mapped files, socket, oggetti ActiveX / COM, solo per citarne alcuni. Si riduce davvero a quali tecnologie hai familiarità / confidenza.