Attivazione basata sulla configurazione in IIS e WASConfiguration-Based Activation in IIS and WAS

In genere quando si ospita un servizio Windows Communication Foundation (WCF) in Internet Information Services (IIS) o del servizio Attivazione processo Windows (WAS), è necessario fornire un file con estensione svc.Normally when hosting a Windows Communication Foundation (WCF) service under Internet Information Services (IIS) or Windows Process Activation Service (WAS), you must provide a .svc file. Il file con estensione svc contiene il nome del servizio e una factory di host del servizio personalizzata facoltativa.The .svc file contains the name of the service and an optional custom service host factory. Quest'ulteriore file comporta un sovraccarico ai fini della gestibilità.This additional file adds manageability overhead. Con la funzionalità di attivazione basata sulla configurazione non è più necessario disporre di un file con estensione svc e quindi tale sovraccarico viene evitato.The configuration-based activation feature removes the requirement to have a .svc file and therefore the associated overhead.

Attivazione basata sulla configurazioneConfiguration-Based Activation

L'attivazione basata sulla configurazione acquisisce i metadati posizionati nel file con estensione svc e li sposta nel file Web.config.Configuration-based activation takes the metadata that used to be placed in the .svc file and places it in the Web.config file. All'interno di <serviceHostingEnvironment> elemento non è presente un <serviceActivations> elemento.Within the<serviceHostingEnvironment> element there is a <serviceActivations> element. All'interno di <serviceActivations> sono uno o più <add> elementi, uno per ogni servizio ospitato.Within the <serviceActivations> element are one or more <add> elements, one for each hosted service. Il <add> elemento contiene attributi che consentono di impostare l'indirizzo relativo per il servizio e il tipo di servizio o una factory di host del servizio.The <add> element contains attributes that let you set the relative address for the service and the service type or a service host factory. Nell'esempio di codice di configurazione riportato di seguito viene illustrato come utilizzare questa sezione.The following configuration example code shows how this section is used.

Nota

Ogni <add> elemento deve specificare un servizio o un attributo factory.Each <add> element must specify a service or a factory attribute. È consentita la specifica sia degli attributi del servizio che della factory.Specifying both service and factory attributes is allowed.

<serviceHostingEnvironment>  
  <serviceActivations>  
    <add relativeAddress="MyServiceAddress" service="Service" factory="MyServiceHostFactory"/>  
  </serviceActivations>  
</serviceHostingEnvironment>  

Con questa situazione nel file Web.config è possibile posizionare il codice sorgente del servizio nella directory App_Code dell'applicazione o un assembly compilato nella directory bin dell'applicazione.With this in the Web.config file, you can place the service source code in the App_Code directory of the application or a complied assembly in the Bin directory of the application.

Nota

  • Quando si utilizza l'attivazione basata sulla configurazione, il codice inline presente nei file con estensione svc non è supportato.When using configuration-based activation, inline code in .svc files is not supported.
    • Il relativeAddress attributo deve essere impostato su un indirizzo relativo, ad esempio "<sottodirectory > / service.svc" o "~ /<sub directory/service.svc".The relativeAddress attribute must be set to a relative address such as "<sub-directory>/service.svc" or "~/<sub-directory/service.svc".
    • Se si registra un indirizzo relativo che non dispone di un'estensione nota associata a WCF, viene generata un'eccezione di configurazione.A configuration exception is thrown if you register a relative address that does not have a known extension associated with WCF.
    • L'indirizzo specificato è relativo alla radice dell'applicazione virtuale.The relative address specified is relative to the root of the virtual application.
    • A causa del modello gerarchico della configurazione, gli indirizzi relativi registrati a livello del computer e del sito vengono ereditati dalle applicazioni virtuali.Due to the hierarchical model of configuration, the registered relative addresses at machine and site level are inherited by virtual applications.
    • Le registrazioni in un file di configurazione hanno priorità rispetto alle impostazioni in un file con estensione svc, xamlx, xoml o di un altro tipo.Registrations in a configuration file take precedence over settings in a .svc, .xamlx, .xoml, or other file.
    • Qualsiasi simbolo '' (barra rovesciata) in un URI inviato a IIS/WAS viene convertito in modo automatico in un simbolo '/' (barra).Any ‘\’ (backslashes) in a URI sent to IIS/WAS are automatically converted to a ‘/’ (forward slash). Se viene aggiunto un indirizzo relativo che contiene un simbolo '' e viene inviato a IIS un URI che utilizza l'indirizzo relativo, la barra rovesciata viene convertita in una barra normale e IIS non è in grado di associarla all'indirizzo relativo.If a relative address is added that contains a ‘\’ and you send IIS a URI that uses the relative address, the backslash is converted to a forward slash and IIS cannot match it to the relative address. IIS invia informazioni di traccia a indicare che non è stata rilevata alcuna corrispondenza.IIS sends out trace information that indicates that there are no matches found.

Vedere ancheSee Also

ServiceActivations
Servizi di hostingHosting Services
Panoramica dell'hosting dei servizi flusso di lavoroHosting Workflow Services Overview
<serviceHostingEnvironment ><serviceHostingEnvironment>
Windows Server AppFabric con funzionalità di HostingWindows Server App Fabric Hosting Features