Megosztás a következőn keresztül:


<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 truevan á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