Share via


Procedura: attivare il servizio ruolo WCF

Aggiornamento: novembre 2007

In questo argomento viene illustrato come configurare il servizio ruolo ASP.NET in un server Web per renderlo disponibile ai client che utilizzano Windows Communication Foundation (WCF).

Nota:

Se è possibile che un nome del ruolo venga utilizzato da un utente malintenzionato per esporre dati sensibili o se il nome del ruolo è archiviato in un cookie permanente, accedere al servizio ruolo tramite SSL (Secure Sockets Layer) utilizzando il protocollo HTTPS. Per informazioni sulla configurazione di SSL, vedere Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) e Configuring Secure Sockets Layer in IIS 7.0 sul sito Web Microsoft (informazioni in lingua inglese).

Per configurare il servizio ruolo ASP.NET come servizio WCF

  1. Se non si dispone già di un'applicazione Web ASP.NET, crearne una.

  2. Attivare l'autenticazione basata su form nell'applicazione Web. Per ulteriori informazioni, vedere Configurazione di un'applicazione ASP.NET per l'utilizzo delle appartenenze.

  3. Attivare i ruoli nell'applicazione Web. Per ulteriori informazioni vedere Informazioni sulla gestione dei ruoli.

  4. Fornire un metodo per consentire agli utenti di accedere all'applicazione Web.

    Quando si recuperano i ruoli tramite il servizio ruolo WCF, è inoltre possibile consentire l'accesso degli utenti tramite il servizio di autenticazione WCF. Per informazioni sulla configurazione del servizio di autenticazione WCF, vedere Procedura: attivare il servizio di autenticazione WCF.

  5. Aggiungere un file del servizio con estensione svc al sito Web che contiene la direttiva riportata di seguito per fare riferimento alla classe RoleService:

    <%@ ServiceHost 
      Language="VB"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost 
      Language="C#"
      Service="System.Web.ApplicationServices.RoleService" 
      Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  6. Salvare e chiudere il file svc.

  7. Definire le seguenti impostazioni di configurazione nel file Web.config per configurare il servizio e richiedere SSL:

    • Attivare il servizio ruolo nell'elemento roleService.

    • Definire il contratto dell'endpoint nell'elemento services e il comportamento del servizio nell'elemento behaviors. Includere la proprietà bindingNamespace nel contratto dell'endpoint per evitare che venga generata un'eccezione in alcuni strumenti di generazione del proxy. Per ulteriori informazioni sugli endpoint WCF, vedere Windows Communication Foundation Endpoints (informazioni in lingua inglese).

    • Configurare l'elemento serviceHostingEnvironment per la compatibilità con ASP.NET. Per ulteriori informazioni sulle modalità di hosting dei servizi WCF, vedere WCF Services and ASP.NET (informazioni in lingua inglese).

    • Creare un'associazione nell'elemento bindings che richiede SSL. Per ulteriori informazioni sulla sicurezza del trasporto in WCF, vedere Transport Security (informazioni in lingua inglese).

    Nell'esempio seguente viene illustrato l'elemento system.serviceModel da un file Web.config che presenta le impostazioni di configurazione descritte nell'elenco precedente.

    <system.web.extensions>
      <scripting>
        <webServices>
          <roleService enabled="true"/>
        </webServices>
      </scripting>
    </system.web.extensions>
    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.RoleService"
            behaviorConfiguration="ApplicationServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.RoleService"
            binding="basicHttpBinding"
            bindingConfiguration="userHttps" 
            bindingNamespace="https://asp.net/ApplicationServices/v200"/>
        </service>
      </services>
      <bindings>
    <basicHttpBinding>
    <binding name="userHttps">
    <security mode="Transport" />
    </binding>
    </basicHttpBinding>
    </bindings>
      <behaviors>
        <serviceBehaviors>
          <behavior name="ApplicationServiceTypeBehaviors">
            <serviceMetadata httpGetEnabled="true"/>
          </behavior>
        </serviceBehaviors>
      </behaviors>
      <serviceHostingEnvironment
        aspNetCompatibilityEnabled="true"/>
    </system.serviceModel>
    

Sicurezza

Se si utilizzano dati riservati dell'utente, accedere al servizio di autenticazione tramite SSL (Secure Sockets Layer) utilizzando il protocollo HTTPS. Per informazioni sulla configurazione di SSL, vedere Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) e Configuring Secure Sockets Layer in IIS 7.0 sul sito Web Microsoft (informazioni in lingua inglese).

Vedere anche

Attività

Procedura dettagliata: utilizzo dei servizi delle applicazioni ASP.NET

Concetti

Cenni preliminari sul servizio ruolo di Windows Communication Foundation

Altre risorse

Configuring Services