Sviluppo di canali
Lo sviluppo di un protocollo o di un canale di trasporto che può essere usato con il livello dell’applicazione Windows Communication Foundation (WCF) richiede diversi 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 Trasporto 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 factory, vedere Client: Channel Factory e canali. Per informazioni dettagliate sullo sviluppo di listener, vedere Servizio: Listener di 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 e errori.
Per abilitare l'utilizzo dal livello dell'applicazione, aggiungere una classe BindingElement che aggiunge il canale personalizzato a un stack di canali. Per altre informazioni, vedere Creazione di un 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 altre informazioni, vedere Supporto di configurazione e metadati.
Aggiungere le estensioni dei metadati per comunicare le funzionalità agli altri endpoint. Per altre informazioni, vedere Supporto di configurazione e metadati.
Aggiungere un'associazione che preconfigura uno stack di elementi di associazione secondo un profilo ben definito. Per altre 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 altre informazioni, vedere Supporto di configurazione e metadati.