Partager via


<serviceHostingEnvironment>

Cet élément définit le type instancié par l'environnement d'hébergement de service correspondant à un transport particulier. Si cet élément est vide, c'est le type par défaut qui est utilisé.

<system.serviceModel>
  <serviceHostingEnvironment>

<serviceHostingEnvironment>
         aspNetCompatibilityEnabled="Boolean"
       minFreeMemoryPercentageToActivateService="Integer"
     <baseAddressPrefixFilters>
                <add prefix="string"/>
          </baseAddressPrefixFilters>
     <transportConfigurationTypes>
        <add name="String" 
             transportConfigurationType="String" />
     </transportConfigurationTypes>
</serviceHostingEnvironment>

Attributs et éléments

Attributs

Attribut Description

aspNetCompatibilityEnabled

Valeur booléenne indiquant si le mode de compatibilité ASP.NET a été activé pour l'application actuelle. La valeur par défaut est false.

Lorsque cet attribut a la valeur true, les demandes transmises aux services Windows Communication Foundation (WCF) passent par le pipeline HTTP ASP.NET ; en outre, les communications via des protocoles non-HTTP sont interdites. Pour plus d'informations, consultez WCF Services and ASP.NET.

minFreeMemoryPercentageToActivateService

Entier indiquant la quantité minimale de mémoire disponible nécessaire au système pour permettre l'activation d'un service WCF.

ms731336.Caution(fr-fr,VS.90).gifAttention :
L'indication de cet attribut avec la confiance partielle dans le fichier web.config d'un service WCF provoque un SecurityException lorsque le service est exécuté.

Éléments enfants

Élément Description

<baseAddressPrefixFilters>

Collection des éléments de configuration qui spécifient des filtres de préfixe pour les adresses de base utilisée par l'hôte de service.

<transportConfigurationTypes>

Collection des éléments de configuration identifiant le type d'un transport particulier.

Éléments parents

Élément Description

serviceModel

Élément racine de tous les éléments de configuration Windows Communication Foundation (WCF).

Notes

Par défaut, les services WCF sont exécutés conjointement à ASP.NET dans les domaines d'application hébergés (AppDomain). Bien que WCF et ASP.NET puissent coexister sur le même domaine AppDomain, les demandes WCF ne sont pas traitées par défaut par le pipeline HTTP d'ASP.NET. En conséquence, plusieurs éléments de la plate-forme d'application ASP.NET ne sont pas disponibles pour les services WCF. Il s'agit des méthodes suivantes :

  • Autorisation de l'URL/du fichier ASP.NET
  • Emprunt d'identité ASP.NET
  • État de session basé sur les cookies
  • HttpContext.Current
  • Extensibilité de pipeline via HttpModule personnalisé

Si vos services WCF doivent fonctionner dans le contexte ASP.NET et communiquer uniquement via HTTP, vous pouvez utiliser le mode de compatibilité ASP.NET de WCF. Ce mode est activé lorsque l'attribut aspNetCompatibilityEnabled a la valeur true au niveau de l'application. Les implémentations de service doivent déclarer leur capacité de fonctionner en mode de compatibilité à l'aide de la classe AspNetCompatibilityRequirementsAttribute. Lorsque le mode de compatibilité est activé :

  • L'autorisation de l'URL/du fichier ASP.NET est appliquée avant l'autorisation WCF. Une décision d'autorisation est basée sur l'identité de la demande au niveau du transport. Les identités au niveau du message sont ignorées.
  • Les opérations de service WCF commencent à s'exécuter dans le contexte d'emprunt d'identité ASP.NET. Si les emprunts d'identité ASP.NET et WCF sont tous deux activés pour un service spécifique, c'est le contexte d'emprunt d'identité WCF qui est appliqué.
  • HttpContext.Current peut être utilisé à partir du code de service WCF ; cette opération permet d'empêcher l'exposition des points de terminaison non-HTTP.
  • Les demandes WCF sont traitées par le pipeline ASP.NET. Les HttpModules ayant été configurés pour agir sur les requêtes entrantes peuvent également traiter des demandes WCF. Ils peuvent inclure des composants de plate-forme ASP.NET (par exemple, SessionStateModule), ainsi que des modules tiers personnalisés.

Exemple

L'exemple de code suivant indique comment activer le Mode de compatibilité ASP.

Code

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

Voir aussi

Référence

ServiceHostingEnvironmentSection
ServiceHostingEnvironment

Autres ressources

Hosting
WCF Services and ASP.NET