Configurazione semplificata per servizi WCF

L'esempio ConfigSimplificationIn40 illustra come implementare e configurare un servizio e un client tipici usando Windows Communication Foundation (WCF). Questo esempio è la base per tutti gli altri esempi di tecnologia di base.

Questo servizio, che espone un endpoint per comunicare con il servizio, utilizza la configurazione semplificata in .NET Framework 4. Prima di .NET Framework 4., l'endpoint viene in genere definito in un file di configurazione (Web.config), come mostrato nel codice di configurazione di esempio seguente.

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright ©) Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="Microsoft.Samples.GettingStarted.CalculatorService"
               behaviorConfiguration="CalculatorServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="ICalculator"/>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
  </system.serviceModel>
</configuration>

In .NET Framework 4 l'elemento <service> è facoltativo. Quando un servizio non definisce alcun endpoint, al servizio viene aggiunto un endpoint per ogni indirizzo di base e contratto implementato. L'indirizzo di base viene aggiunto al nome del contratto per determinare l'endpoint e l'associazione è determinata dallo schema dell'indirizzo. Nell'esempio di codice seguente viene illustrato un file di configurazione semplificato. Come configurato, è possibile accedere al servizio su http://localhost/servicemodelsamples/service.svc da un client nello stesso computer. Affinché i client presenti nei computer remoti accedano al servizio, è necessario specificare un nome di dominio completo anziché localhost. Per impostazione predefinita, il servizio non espone metadati. In quanto tale, il servizio attiva il comportamento ServiceMetadataBehavior.

<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright © Microsoft Corporation. All Rights Reserved. -->
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="True"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Per usare questo esempio

  1. Assicurarsi di aver eseguito la Procedura di installazione singola per gli esempi di Windows Communication Foundation.

  2. Per compilare la soluzione, seguire le istruzioni in Compilazione degli esempi di Windows Communication Foundation.

  3. Eseguire l'esempio attenendosi ai passaggi seguenti:

    1. Fare clic con il pulsante destro del mouse sul progetto Service e selezionare Imposta come progetto di avvio, quindi premere Ctrl+F5.

    2. Attendere l'output della console che conferma che il servizio è in esecuzione.

    3. Fare clic con il pulsante destro del mouse sul progetto Client e selezionare Imposta come progetto di avvio, quindi premere Ctrl+F5.

Vedi anche