Sdílet prostřednictvím


Konfigurace zprostředkovatele stavu relace rozhraní ASP.NET (ukládání do mezipaměti technologie Windows Server AppFabric)

Technologie Windows Server AppFabric poskytuje vlastního zprostředkovatele stavu relace pro aplikace rozhraní ASP.NET. Díky tomu mohou webové aplikace rozšiřovat objekty relací po celém clusteru mezipamětí a zajišťovat tak škálovatelnost. Vzhledem k povaze funkcí technologie AppFabric pro ukládání do mezipaměti musí objekty, které vkládáte do Relace, umožňovat serializaci.

V postupech tohoto tématu se předpokládá, že jste již připravili vývojové prostředí webové aplikace, nastavili odkazy na sestavení ukládání do mezipaměti technologie AppFabric a podobně. Další informace naleznete v tématu Příprava vývojového prostředí pro vývoj klienta mezipaměti (ukládání do mezipaměti technologie Windows Server AppFabric).

Aby webová aplikace rozhraní ASP.NET mohla používat zprostředkovatele stavu relace technologie AppFabric, je nutné do souboru web.config této aplikace přidat následující elementy:

  • configSections: Tento element musí být prvním elementem v konfiguračním souboru pod úvodní značkou configuration. Tento element je vyžadován pro fungování sestavení ukládání do mezipaměti technologie AppFabric.

  • dataCacheClient: Tento element je podřízeným elementem elementu configuration. Slouží ke konfiguraci klienta mezipaměti a k určení hostitelů mezipaměti. Další informace o klientovi mezipaměti naleznete v tématu Vývoj klienta mezipaměti (ukládání do mezipaměti technologie Windows Server AppFabric).

  • sessionState: Tento element je podřízeným elementem elementu system.web. Určuje webové aplikaci, že by měla ke správě stavů relace používat technologii AppFabric. Atribut cacheName udává pojmenovanou mezipaměť, která bude použita. Pokud data relace ukládáte do oblasti mezipaměti, použijte k zadání této oblasti atribut regionName.

Poznámka

Objekty uložené v regionu nebudou předmětem vyrovnávání zatížení mezi hostiteli mezipaměti, ale budou umístěny v hostiteli mezipaměti, ve kterém byla oblast vytvořena. Z tohoto důvodu se nejedná o obecně doporučovanou konfiguraci. Oblasti by se měly používat pouze v případě, kdy existuje zvláštní požadavek na umístění všech objektů relace v jednom hostiteli.

Upozornění

Doporučujeme, abyste soubor web.config sloužící k určení názvů hostitelů mezipaměti zabezpečili.

Konfigurace zprostředkovatele stavu relace technologie AppFabric pro webovou aplikaci

  1. Zkopírujte element configSections z příkladu za tímto postupem do svého souboru web.config. Tento element musí být prvním elementem uvnitř značek configuration.

  2. Zkopírujte element dataCacheClient z příkladu za tímto postupem do svého souboru web.config. Měl by být přidán za element configSections uvnitř elementu configuration.

    1. Nakonfigurujte atributy name a cachePort elementů hostitele tak, aby odpovídaly serverům mezipaměti ve vašem prostředí. Podle potřeby přidejte nebo odeberte elementy hostitele.
  3. Zkopírujte element sessionState z příkladu za tímto postupem do svého souboru web.config. Měl by být umístěn uvnitř elementu system.web.

  4. Zjistěte identitu webové aplikace. To lze provést ve Správci služby IIS na webových serverech. Vyhledejte identitu fondu aplikací přidruženého k webové aplikaci. Pomocí příkazu prostředí Windows Powershell Grant-CacheAllowedClientAccount udělte přístup uživateli ke clusteru mezipamětí.

    Tip

    Pokud je fond aplikací spuštěn jako předdefinovaný účet počítače, například „NT Authority\Network Service“, potom byste měli udělit přístup ke clusteru mezipamětí danému počítači. To lze provést určením účtu jako NÁZEVDOMÉNY\NÁZEVPOČÍTAČE$. Znak $ je připojen k názvu počítače, aby označoval, že se jedná o účet počítače.

Příklad

Tento příklad znázorňuje, jak lze u webové aplikace rozhraní ASP.NET nakonfigurovat použití klienta mezipaměti k ukládání dat relace do distribuované mezipaměti s názvem NamedCache1. Klient mezipaměti v tomto příkladu je nakonfigurován tak, aby komunikoval pouze s jedním hostitelem mezipaměti s názvem CacheServer1.

Nejdříve přidejte element configSections do souboru web.config tak, aby se jednalo o první element v elementu configuration:

<!--configSections must be the FIRST element -->
<configSections>
   <!-- required to read the <dataCacheClient> element -->
   <section name="dataCacheClient"
         type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
            Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
         allowLocation="true"
         allowDefinition="Everywhere"/>
</configSections>

Poté do souboru web.config přidejte za element configSections element dataCacheClient. Zde se provádí konfigurace klienta mezipaměti pro potřeby aplikace. Další informace naleznete v tématu Nastavení konfigurace aplikace (ukládání do mezipaměti technologie Windows Server AppFabric).

<!-- cache client -->
<dataCacheClient> 
  <!-- cache host(s) -->
  <hosts>
    <host
       name="CacheServer1"
       cachePort="22233"/>
  </hosts>
</dataCacheClient>

Po přidání elementů configSections a dataCacheClient přidejte dovnitř elementu system.web v souboru web.config element sessionState. Zde se určuje, kterou mezipaměť bude webová aplikace používat pro ukládání dat o stavu relace.

Pokud několik webových aplikací potřebuje sdílet stejný stav relace, měly by používat stejnou hodnotu atributu sharedId. V ostatních případech není nutné atribut sharedId zadávat.

<sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
  <providers>
    <!-- specify the named cache for session data -->
    <add 
      name="AppFabricCacheSessionStoreProvider" 
      type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" 
      cacheName="NamedCache1"
      sharedId="SharedApp"/>
  </providers>
</sessionState>

Po dokončení by měl finální soubor web.config webové aplikace vypadat podobně jako v následujícím příkladu.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  
  <!--configSections must be the FIRST element -->
  <configSections>
     <!-- required to read the <dataCacheClient> element -->
     <section name="dataCacheClient"
         type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
            Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, 
            Culture=neutral, PublicKeyToken=31bf3856ad364e35"
         allowLocation="true"
         allowDefinition="Everywhere"/>
  </configSections>
  
  <!-- cache client -->
  <dataCacheClient>    
    <!-- cache host(s) -->
    <hosts>
      <host
         name="CacheServer1"
         cachePort="22233"/>
    </hosts>
  </dataCacheClient>

  <system.web>
    <sessionState mode="Custom" customProvider="AppFabricCacheSessionStoreProvider">
      <providers>
        <!-- specify the named cache for session data -->
        <add 
          name="AppFabricCacheSessionStoreProvider" 
          type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" 
          cacheName="NamedCache1"
          sharedId="SharedApp"/>
      </providers>
    </sessionState>
  </system.web>
</configuration>

Další odkazy

Koncepty

Začínáme s klientem mezipaměti technologie Windows Server AppFabric (XML)
Používání metod konfigurace (ukládání do mezipaměti technologie Windows Server AppFabric)
Koncepce ukládání do mezipaměti technologie Windows Server AppFabric
Vývoj klienta mezipaměti (ukládání do mezipaměti technologie Windows Server AppFabric)

  2011-12-05