In questo caso "proxy" è un riferimento al modello di progettazione software. From Wikipedia:
Un proxy, nella sua forma più generale, è una classe di funzionamento come un'interfaccia a qualcos'altro.Il proxy può interfacciarsi a qualsiasi cosa: una connessione di rete , un oggetto di grandi dimensioni in memoria, un file o un'altra risorsa che è costosa o impossibile da duplicare.
Nel caso della WCF ChannelFactory <> .CreateChannel sta creando un channel stack base alla configurazione. Ogni canale fornisce un'astrazione al canale sottostante. Per esempio uno stack di canale potrebbe essere semplificata:
- canale 1 serializzare l'oggetto .NET in un messaggio SOAP
- canale 2 Aggiunge informazioni di sicurezza al messaggio
- canale 3 codificare il messaggio da inviare su TCP .
Penso che tu capisca tutto questo.
Torna all'uso del "proxy": qualsiasi canale nello stack è un proxy per il canale sottostante. Vale a dire che nessun canale è la destinazione finale. Tutti i canali sono "un'interfaccia per qualcos'altro". Tuttavia, mentre ci si sposta verso il basso nello stack dei canali, i diversi canali forniscono un'interfaccia/astrazione diversa (oggetto .NET, messaggio SOAP, ecc.) Al chiamante.
Ancora una volta questa discussione ha lo scopo di rispondere alla domanda e intenzionalmente semplificata.
Quando si scrive codice client, l'interfaccia più utile è quella che comprende gli oggetti .NET. Sapendo ciò, ChannelFactory restituisce il canale che si trova in cima allo stack con un'interfaccia .NET che corrisponde al contratto di servizio. Sarebbe valido creare un messaggio SOAP come una stringa, scendere lungo lo stack di canali (o creare uno stack personalizzato), trovare il canale che accetta un messaggio SOAP non elaborato, etichettarlo come "proxy" e chiamarlo direttamente.
L'autore ha utilizzato il metodo denominato CreateChannel e ha denominato l'identificatore proxy. Quindi nell'architettura WCF Proxy è solo un canale speciale di alto livello , non è un elemento di architettura autonomo?
Il canale è un elemento architettonico che implementa il modello di progettazione del software proxy. Tutti i canali sono proxy. Quando si scrive codice client, il canale di primo livello risulta essere il più utile in quanto accetta i contratti operativi .NET.