Sviluppo di canali
Per sviluppare un protocollo o un canale di trasporto che possa essere utilizzato con il livello dell'applicazione Windows Communication Foundation (WCF) sono necessari vari passaggi. In questo argomento vengono illustrati tali passaggi con rimandi agli argomenti specifici per ulteriori informazioni. Per comprendere il modello dei canali e i vari tipi menzionati in questo argomento, vedere Panoramica sul modello dei canali. Per un esempio di un canale di trasporto completo, vedere Transport: UDP.
Elenco delle attività di sviluppo di un canale
I passaggi per creare un canale definito dall'utente sono i seguenti. Per tutti i canali è necessario:
- Definire quale modello di scambio dei messaggi del canale (IOutputChannel, IInputChannel, IDuplexChannel, IRequestChannel o IReplyChannel) verrà supportato dalle interfacce IChannelFactory e IChannelListener e se supporterà le variazioni con sessione di tali interfacce. Per informazioni dettagliate, vedere Scelta di un modello di scambio dei messaggi.
- Creare una channel factory e un listener di canale (IChannelFactory e IChannelListener) che supportano il modello di scambio dei messaggi. Per informazioni dettagliate sullo sviluppo di channel factory, vedere Client: channel factory e canali. Per informazioni dettagliate sullo sviluppo di listener di canale, vedere Servizio: listener del canale e canali.
- Garantire che eventuali eccezioni specifiche della rete vengano normalizzate in System.TimeoutException o nella classe derivata appropriata di CommunicationException. Per informazioni dettagliate, vedere Gestione di eccezioni ed errori.
- Per abilitare l'utilizzo dal livello dell'applicazione, aggiungere una classe BindingElement che aggiunge il canale personalizzato a un stack di canali. Per ulteriori informazioni, vedere Creazione di una classe BindingElement.
Per abilitare un supporto più completo a livello dell'applicazione, sono necessari i passaggi aggiuntivi seguenti:
- Aggiungere una sezione di estensione degli elementi di associazione per esporre il nuovo elemento di associazione al sistema di configurazione. Per ulteriori informazioni, vedere Supporto di configurazione e metadati.
- Aggiungere le estensioni dei metadati per comunicare le funzionalità agli altri endpoint. Per ulteriori informazioni, vedere Supporto di configurazione e metadati.
- Aggiungere un'associazione che preconfigura uno stack di elementi di associazione secondo un profilo ben definito. Per ulteriori informazioni, vedere Creazione di associazioni definite dall'utente.
- Aggiungere una sezione dell'associazione e un elemento di configurazione dell'associazione per esporre l'associazione al sistema di configurazione. Per ulteriori informazioni, vedere Supporto di configurazione e metadati.