<serviceHostingEnvironment>
Ez az elem határozza meg, hogy a szolgáltatás üzemeltetési környezete milyen típusú példányokat hoz létre egy adott átvitelhez. Ha ez az elem üres, a rendszer az alapértelmezett típust használja. Ez az elem csak az alkalmazás- vagy gépszintű konfigurációs fájlokban használható.
<Konfigurációs>
<system.serviceModel>
<serviceHostingEnvironment>
Syntax
<serviceHostingEnvironment aspNetCompatibilityEnabled="Boolean"
minFreeMemoryPercentageToActivateService="Integer"
multipleSiteBindingsEnabled="Boolean">
<baseAddressPrefixFilters>
<add prefix="string" />
</baseAddressPrefixFilters>
<serviceActivations>
<add factory="String"
service="String" />
</serviceActivations>
<transportConfigurationTypes>
<add name="String"
transportConfigurationType="String" />
</transportConfigurationTypes>
</serviceHostingEnvironment>
Attribútumok és elemek
Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.
Attribútumok
Attribútum | Leírás |
---|---|
aspNetCompatibilityEnabled | Logikai érték, amely azt jelzi, hogy a ASP.NET kompatibilitási mód be van-e kapcsolva az aktuális alkalmazáshoz. A mező alapértelmezett értéke: false .Ha ez az attribútum értékre true van állítva, a Windows Communication Foundation (WCF) szolgáltatásainak kérései a ASP.NET HTTP-folyamaton haladnak át, és a nem HTTP protokollokon keresztüli kommunikáció tilos. További információ: WCF-szolgáltatások és ASP.NET. |
minFreeMemoryPercentageToActivateService | A WCF-szolgáltatás aktiválása előtt a rendszer számára elérhető minimális szabad memória mennyiségét meghatározó egész szám. Figyelem: Ha ezt az attribútumot a WCF-szolgáltatás SecurityException web.config fájljában részleges megbízhatósággal együtt adja meg, akkor a szolgáltatás futása következik be. |
multipleSiteBindingsEnabled | Logikai érték, amely meghatározza, hogy több IIS-kötés engedélyezve van-e a helyeken. Az IIS webhelyekből áll, amelyek virtuális könyvtárakat tartalmazó virtuális alkalmazások tárolói. A webhelyen lévő alkalmazás egy vagy több IIS-kötésen keresztül érhető el. Az IIS-kötések két információt biztosítanak: a kötési protokollt és a kötési információkat. A kötési protokoll határozza meg azt a sémát, amelyen keresztül a kommunikáció történik, a kötési információk pedig a hely eléréséhez használt információk. A kötési protokoll például HTTP lehet, míg a kötési információk tartalmazhatnak IP-címet, portot, gazdagépfejlécet stb. Az IIS támogatja több IIS-kötés megadását webhelyenként, ami sémánként több alapcímet eredményez. A webhelyeken üzemeltetett Windows Communication Foundation (WCF) szolgáltatás azonban sémánként csak egy baseAddress-hez engedélyezi a kötést. Ha helyekenként több IIS-kötést szeretne engedélyezni a Windows Communication Foundation (WCF) szolgáltatáshoz, állítsa ezt az attribútumot értékre true . Figyelje meg, hogy több helykötés csak a HTTP protokoll esetében támogatott. A konfigurációs fájl végpontjainak címének teljes URI-nak kell lennie. |
Gyermekelemek
Elem | Leírás |
---|---|
<baseAddressPrefixFilters> | Konfigurációs elemek gyűjteménye, amelyek előtagszűrőket adnak meg a szolgáltatásgazda által használt alapcímekhez. |
<serviceActivations> | Az aktiválási beállításokat ismertető konfigurációs szakasz. |
<transportConfigurationTypes> | Konfigurációs elemek gyűjteménye, amelyek egy adott átvitel típusát azonosítják. |
Szülőelemek
Elem | Leírás |
---|---|
serviceModel | A Windows Communication Foundation (WCF) összes konfigurációs elemének gyökéreleme. |
Megjegyzések
Alapértelmezés szerint a WCF-szolgáltatások egymás mellett futnak a ASP.NET az üzemeltetett alkalmazástartományokban (AppDomain). Annak ellenére, hogy a WCF és a ASP.NET együtt létezhetnek ugyanabban az AppDomainben, a WCF-kéréseket alapértelmezés szerint nem dolgozza fel a ASP.NET HTTP-folyamat. Ennek eredményeképpen az ASP.NET alkalmazásplatform több eleme nem érhető el a WCF-szolgáltatások számára. Ezek közé tartoznak a következők:
ASP.NET fájl-/URL-engedélyezés
ASP.NET megszemélyesítés
Cookie-alapú munkamenet állapota
HttpContext.Current
Folyamat bővíthetősége egyéni HttpModule használatával
Ha a WCF-szolgáltatásoknak a ASP.NET környezetben kell működnie, és csak HTTP-en keresztül kell kommunikálniuk, használhatja a WCF ASP.NET kompatibilitási módját. Ez a mód akkor van bekapcsolva, ha az aspNetCompatibilityEnabled
attribútum az alkalmazás szintjén van beállítva true
. A szolgáltatás-implementációknak deklarálniuk kell a kompatibilitási módban való futtatási képességüket a AspNetCompatibilityRequirementsAttribute osztály használatával. Ha a kompatibilitási mód engedélyezve van,
ASP.NET WCF-engedélyezés előtt a rendszer kikényszeríti a fájl-/URL-engedélyezést. Az engedélyezési döntés a kérelem szállítási szintű identitásán alapul. Az üzenet szintjén lévő identitások figyelmen kívül lesznek hagyva.
A WCF-szolgáltatásműveletek a ASP.NET megszemélyesítési környezetben indulnak el. Ha ASP.NET megszemélyesítés és a WCF-megszemélyesítés is engedélyezve van egy adott szolgáltatáshoz, a WCF megszemélyesítési környezete érvényes.
A HttpContext.Current a WCF-szolgáltatáskódból használható, és a szolgáltatások nem HTTP-végpontokat tehetnek ki.
A WCF-kérelmeket a ASP.NET folyamat dolgozza fel. A bejövő kérések kezelésére konfigurált HttpModulek a WCF-kéréseket is feldolgozhatják. Ezek lehetnek ASP.NET platformösszetevők (pl. SessionStateModule), valamint egyéni külső modulok.
Példa
Az alábbi kódminta bemutatja, hogyan engedélyezheti az ASP kompatibilitási módját.
Code
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: