<system.serviceModel>

Questa sezione di configurazione contiene tutti gli elementi di configurazione di Windows Communication Foundation (WCF).

<Configurazione>
  <system.serviceModel>

Sintassi

<system.serviceModel>
  <behaviors>
  </behaviors>
  <bindings>
  </bindings>
  <client>
  </client>
  <comContracts>
  </comContracts>
  <commonBehaviors>
  </commonBehaviors>
  <diagnostics>
  </diagnostics>
  <extensions>
  </extensions>
  <protocolMapping>
  </protocolMapping>
  <routing>
  </routing>
  <serviceHostingEnvironment>
  </serviceHostingEnvironment>
  <services>
  </services>
  <standardEndpoints>
  </standardEndpoints>
  <tracking>
  </tracking>
</system.serviceModel>

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Nessuno

Elementi figlio

Elemento Descrizione
<Comportamenti> Questa sezione definisce due raccolte figlio denominate endpointBehaviors e serviceBehaviors. Ogni raccolta definisce elementi di comportamento usati rispettivamente da endpoint e servizi. Ogni elemento di comportamento è identificato dal relativo attributo name univoco.
<Associazioni> Questa sezione contiene una raccolta di associazioni standard e personalizzate. Ogni voce è identificata dal relativo attributo name univoco. I servizi usano le associazioni collegandole mediante l'oggetto name.
<Client> Questa sezione include un elenco degli endpoint usati da un client per connettersi a un servizio.
<comContracts> Questa sezione definisce i contratti COM che consentono l'interoperabilità tra WCF e COM.
<comportamentiComuni> Il contenuto di questa sezione può essere definito solo nel file machine.config. e definisce due raccolte figlio denominate endpointBehaviors e serviceBehaviors. Ogni raccolta definisce gli elementi di comportamento utilizzati rispettivamente da tutti gli endpoint e i servizi WCF nel computer. Se un comportamento è definito in entrambe <commonBehaviors> le sezioni e <behaviors> , il <comportamento nella sezione comportamenti> viene assegnata una preferenza.
<Diagnostica> Questa sezione include le impostazioni per le funzionalità di diagnostica di WCF. L'utente può abilitare o disabilitare tracce, contatori di prestazioni e il provider WMI e può aggiungere filtri dei messaggi personalizzati.
<Estensioni> Questa sezione include una raccolta di estensioni che consentono di creare associazioni definite dall'utente, comportamenti e altri aspetti relativi alle estensioni.
<protocolMapping> Questa sezione definisce un set di mapping dei protocolli predefiniti tra gli schemi dei protocolli di trasporto (ad esempio http, net.tcp, net.pipe e così via) e le associazioni di WCF.
<Routing> Questa sezione definisce un set di filtri di routing, che determinano il tipo di Windows Communication Foundation (WCF)MessageFilter da usare durante la valutazione dei messaggi in ingresso, nonché le tabelle di routing che definiscono gli endpoint di destinazione per inviare messaggi a quando un filtro corrisponde.
<serviceHostingEnvironment> Questa sezione definisce il tipo del quale l'ambiente host del servizio crea un'istanza per un determinato trasporto. Se questa sezione è vuota, viene usato il tipo predefinito.
<Servizi> Questa sezione include una raccolta di servizi. Per ogni servizio definito nell'assembly, questo elemento contiene un elemento service nel quale vengono specificate le impostazioni per il servizio.
<standardEndpoints> Questa sezione definisce una raccolta di endpoint standard rappresentati da endpoint preconfigurati riusabili. Un endpoint standard disporrà di uno o più indirizzi, attributi di associazione e del contratto impostati su un valore fisso. Ad esempio, nell'endpoint di individuazione il contratto è fisso. È inoltre possibile usare endpoint standard per estendere endpoint servizio con nuove proprietà in modo analogo alla definizione di associazioni personalizzate.
<Monitoraggio> Questa sezione definisce le impostazioni di rilevamento per un servizio flusso di lavoro.

Elementi padre

Elemento Descrizione
<configurazione> Elemento radice di tutti gli elementi di configurazione contenuti in un file di configurazione .NET.

Commenti

WCF non aggiunge elementi alle sezioni di configurazione di altri prodotti.

I servizi WCF vengono definiti nella services sezione del file di configurazione. Un assembly può contenere un numero qualsiasi di servizi. Ogni servizio dispone di una propria sezione di configurazione service. La sezione e il relativo contenuto definiscono in modo specifico il contratto, il comportamento e gli endpoint del servizio.

Fra gli attributi di un servizio, solo name è obbligatorio. Per impostazione predefinita, il nome di un servizio descrive il tipo CLR sottostante usato per implementare un servizio. È tuttavia possibile modificare la proprietà ConfigurationName di un attributo ServiceContractAttribute per eseguire l'override del requisito del tipo CLR.

L'attributo behaviorConfiguration è facoltativo. identifica il comportamento usato dal servizio. Il comportamento specificato da questo attributo deve essere collegato a un comportamento di servizio definito nell'ambito dello stesso file di configurazione, ad esempio lo stesso file o un file padre.

Ogni servizio espone uno o più endpoint definiti in un elemento endpoint. Ogni endpoint presenta indirizzo e associazione propri. Tutte le associazioni usate all'interno del file di configurazione devono essere definite nell'ambito del file.

Le associazioni sono collegate agli endpoint tramite la combinazione di attributi name e bindingConfiguration. L'attributo binding definisce la sezione in cui è definita l'associazione. L'attributo bindingConfiguration definisce quale associazione configurata viene usata fra quelle contenute nella sezione di associazione. Una sezione di associazione può infatti definire varie associazioni configurate.

Esempio

Segue un esempio di file di configurazione di WCF.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <!-- List of Behaviors -->
    </behaviors>
    <client>
      <!-- List of Endpoints -->
    </client>
    <diagnostics wmiProviderEnabled="false"
                 performanceCountersEnabled="false"
                 tracingEnabled="false">
    </diagnostics>
    <serviceHostingEnvironment>
      <!-- List of entries -->
    </serviceHostingEnvironment>
    <comContracts>
      <!-- List of COM+ Contracts -->
    </comContracts>
    <services>
      <!-- List of Services -->
    </services>
    <bindings>
      <!-- List of Bindings -->
    </bindings>
  </system.serviceModel>
</configuration>

Vedere anche