<serviceHostingEnvironment>
Dieses Element definiert den Typ, der von der Diensthostingumgebung für einen bestimmten Transport instanziiert wird. Falls dieses Element leer ist, wird der Standardtyp verwendet.
<<system.serviceModel>>
<serviceHostingEnvironment>
<serviceHostingEnvironment>
aspNetCompatibilityEnabled="Boolean"
minFreeMemoryPercentageToActivateService="Integer"
<baseAddressPrefixFilters>
<add prefix="string"/>
</baseAddressPrefixFilters>
<transportConfigurationTypes>
<add name="String"
transportConfigurationType="String" />
</transportConfigurationTypes>
</serviceHostingEnvironment>
Attribute und Elemente
Attribute
Attribut | Beschreibung |
---|---|
aspNetCompatibilityEnabled |
Ein boolescher Wert, der angibt, ob der ASP.NET-Kompatibilitätsmodus für die aktuelle Anwendung aktiviert wurde. Die Standardeinstellung ist false. Wenn dieses Attribut auf true festgelegt wird, fließen die Anforderungen an die Windows Communication Foundation (WCF)-Dienste durch die ASP.NET-HTTP-Pipeline, und die Kommunikation über Nicht-HTTP-Protokolle wird untersagt. Weitere Informationen finden Sie unter WCF Services and ASP.NET. |
minFreeMemoryPercentageToActivateService |
Eine ganze Zahl, welche die Mindestmenge des freien Arbeitsspeichers angibt, der auf dem System zur Verfügung stehen sollte, bevor ein WCF-Dienst aktiviert werden kann. Warnung Das Festlegen dieses Attributs zusammen mit teilweiser Vertrauenswürdigkeit in der web.config-Datei eines WCF-Diensts führt beim Ausführen des Diensts zu SecurityException. |
Untergeordnete Elemente
Element | Beschreibung |
---|---|
Eine Auflistung der Konfigurationselemente, die den Präfixfilter für die vom Diensthost verwendeten Basisadressen angeben. |
|
Eine Auflistung der Konfigurationselemente, die den Typ eines bestimmten Transports identifizieren. |
Übergeordnete Elemente
Element | Beschreibung |
---|---|
serviceModel |
Das Stammelement aller WCF-Konfigurationselemente. |
Hinweise
WCF-Dienste werden in gehosteten Anwendungsdomänen (AppDomain) standardmäßig zusammen mit ASP.NET ausgeführt. Selbst wenn WCF und ASP.NET in derselben AppDomain gleichzeitig ausgeführt werden können, werden die WCF-Anforderungen nicht standardmäßig von der ASP.NET-HTTP-Pipeline verarbeitet. Folglich stehen einige Elemente der ASP.NET-Anwendungsplattform nicht für WCF-Dienste zur Verfügung. Dazu gehören
- ASP.NET-Datei-/URL-Autorisierung
- ASP.NET-Identitätswechsel
- Cookiebasierter Sitzungszustand
- HttpContext.Current
- Pipeline-Erweiterbarkeit über benutzerdefiniertes HttpModule
Falls Ihre WCF-Dienste im ASP.NET-Kontext funktionieren müssen und nur über HTTP kommunizieren, können Sie den ASP.NET-Kompatibilitätsmodus von WCF verwenden. Dieser Modus wird aktiviert, wenn das aspNetCompatibilityEnabled-Attribut auf Anwendungsebene auf true festgelegt ist. Die Dienstimplementierungen müssen die Möglichkeit, im Kompatibilitätsmodus ausgeführt zu werden, mit der AspNetCompatibilityRequirementsAttribute-Klasse deklarieren. Wenn der Kompatibilitätsmodus aktiviert ist,
- wird vor der WCF-Autorisierung die ASP.NET-Datei-/URL-Autorisierung erzwungen. Eine Autorisierungsentscheidung basiert auf der Anforderungsidentität auf der Transportebene. Identitäten auf der Nachrichtenebene werden ignoriert.
- beginnen die WCF-Dienstvorgänge mit der Ausführung im ASP.NET-Identitätswechselkontext. Falls sowohl der ASP.NET-Identitätswechsel als auch der WCF-Identitätswechsel für einen bestimmten Dienst aktiviert sind, gilt der WCF-Identitätswechselkontext.
- kann HttpContext.Current im WCF-Dienstcode verwendet werden. Die Dienste werden daran gehindert, Nicht-HTTP-Endpunkte verfügbar zu machen.
- werden die WCF-Anforderungen von der ASP.NET-Pipeline verarbeitet. HttpModules, die für eingehende Anforderungen konfiguriert wurden, können ebenfalls WCF-Anforderungen verarbeiten. Dazu gehören ASP.NET-Plattformkomponenten (z. B. SessionStateModule) sowie benutzerdefinierte Drittanbietermodule.
Beispiel
Das folgende Codebeispiel zeigt, wie der ASP-Kompatibilitätsmodus aktiviert wird.
Code
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
Siehe auch
Referenz
ServiceHostingEnvironmentSection
ServiceHostingEnvironment