Sdílet prostřednictvím


Proces konfigurace v technologii Windows Server AppFabric

Rozšíření technologie AppFabric pro Správce služby IIS a rutiny prostředí Windows PowerShell pro technologii AppFabric představují pro vlastníka aplikace nebo odborníka v oblasti IT jednoduchý způsob konfigurace aplikací založených na službách WCF a WF. Toto téma popisuje, co se stane v souborech Web.config, pokud konfigurujete službu nebo aplikaci v rozšířeních Správce služby IIS nebo pomocí konfiguračních rutin technologie AppFabric. V tématu jsou nejprve popsány soubory Web.config, které se používají při konfiguraci služby, poté je uveden postup přímé konfigurace služby a na závěr je popsána konfigurace výchozích hodnot, které bude služba dědit.

Další informace týkající se použití souborů Web.config v technologii ASP.NET naleznete v článku Konfigurace technologie ASP.NET (stránka může být v angličtině).

Hierarchie souborů Web.config

Každá z položek v hierarchii konfigurace služby IIS může mít vlastní soubor Web.config a služba může dědit výchozí nastavení konfigurace ze souborů Web config přidružených k serveru, webu, aplikaci a podadresáři, k němuž služba patří. Konfigurace služby je tedy definována hierarchií souborů Web.config. Tento oddíl popisuje pravidla sloužící k určení, které soubory Web.config v hierarchii definují konfiguraci služby a které elementy v těchto souborech mají přednost.

Při instalaci technologie AppFabric na server je ve stejném adresáři jako soubor Machine.config (<jednotka>:\Windows\Microsoft.NET\Framework\v4.0.xxxxx\Config) vytvořen soubor Web.config serveru (pokud již neexistuje). Konfigurace v tomto serverovém souboru Web.config umožňuje správu sledování služeb, trvalosti pracovních postupů a instancí pracovních postupů. Může existovat také soubor Web.config pro web umístěný v adresáři webu (<jednotka>:\inetpub\wwwroot), pro aplikaci v kořenovém adresáři aplikace a pro podadresář aplikace. Soubory Web.config webu, aplikace a podadresáře nejsou instalovány instalačním programem technologie AppFabric. Pokud se pokusíte použít rozšíření technologie AppFabric pro Správce služby IIS ke změně konfigurace v určitém oboru a soubor Web.config v daném oboru neexistuje, bude příslušný soubor Web.config vytvořen.

Soubor Web.config na libovolné úrovni může obsahovat nastavení konfigurace, které je přímo použito u služby, ale pokud chcete službu definovat přímo v uživatelském rozhraní Správce služby IIS, budete pracovat s definicí služby v souboru Web.config aplikace. Vedle tohoto nastavení mohou soubory Web.config na úrovni serveru, webu, aplikace a podadresáře obsahovat výchozí nastavení konfigurace, které může služba dědit. Konfigurace aplikace nastavená pomocí uživatelského rozhraní rozšíření technologie AppFabric pro Správce služby IIS a pomocí konfiguračních rutin má vliv pouze na soubory Web.config, nikoli na soubor machine.config ani jiné soubory, které definují konfiguraci prostředí. Výjimku z tohoto pravidla představuje automatické spouštění, které je pro aplikaci definováno v souboru applicationHost.config na úrovni serveru.

Soubor Web.config obsahuje vnořenou hierarchii značek XML a vnořených značek s atributy, které určují nastavení konfigurace. Některé položky nastavení konfigurace pro službu založenou na službách WCF a WF jsou definovány v rámci chování služby. V technologii AppFabric je chování možné upravit pomocí většiny (avšak nikoli všech) konfiguračních nástrojů. Některé položky nastavení konfigurace jsou však definovány mimo rámec chování služby. Monitorování, adresy koncových bodů a kvóty přenosu vazeb pro službu jsou například konfigurovány v souboru Web.config, avšak mimo rámec chování. Kolektor událostí a konfigurace diagnostiky systému, jejichž oborem je úroveň aplikace nebo vyšší, nejsou definovány v chováních.

Poznámka

Technologie AppFabric využívá ke správě konfigurace rozhraní MWA (Microsoft Web Administration). Rozhraní MWA vyžaduje, aby všechny elementy konfigurace byly schematizované. Informace o vytvoření schématu pro vlastní chování naleznete v tématu Extending IIS 7.0 Schema and Accessing the Custom Sections Using MWA (stránka může být v angličtině).

Přímá konfigurace služby

Službu je možné konfigurovat pomocí pojmenovaného chování služby v souboru Web.config. Do souboru Web.config je třeba zadat značku <service> s atributem behaviorConfiguration, který odkazuje na značku chování služby. Pojmenované chování lze pro službu definovat v souboru Web.config na úrovni aplikace nebo na vyšší úrovni. Následující příklad uvádí službu s názvem TestService, jejíž konfigurace je definována v pojmenovaném chování služby s názvem TestGetMetaData:

<system.serviceModel>
   <services>
      <service name="TestService" behaviorConfiguration="TestGetMetaData" >
         <endpoint address="/TestService" binding="wsHttpBinding" contract="ITestService"/>
         <endpoint address="mex"  binding="mexHttpBinding"  contract="IMetadataExchange"/>
      </service>
   </services>

   <behaviors>
      <serviceBehaviors>
         <behavior name="TestGetMetaData"> <serviceMetadata httpGetEnabled="true" httpGetUrl=""/> </behavior>
      </serviceBehaviors>
   </behaviors>
</system.serviceModel>

V rozhraní .NET Framework 3.5 bylo možné nejjednodušším způsobem konfigurovat řadu aspektů služby pomocí pojmenovaného chování služby v souboru Web.config aplikace (nebo podadresáře) dané služby. Nové šablony v rozhraní .NET Framework 4.0 podporují použití nepojmenovaných chování, jejichž prostřednictvím služba dědí výchozí konfiguraci. Další informace jsou uvedeny v další části tohoto oddílu, která se týká konfigurace výchozích hodnot děděných službou.

Konfigurační nástroje technologie AppFabric umožňují změnit následující chování služby:

  • sqlWorkflowInstanceStore (trvalost)

  • etwTracking (monitorování)

  • serviceThrottling (výkon)

  • serviceCredentials/serviceCertificate (zabezpečení)

  • workflowIdle

  • workflowUnhandledException

  • workflowInstanceManagement

Konfigurace výchozích hodnot děděných službou

Použití pojmenovaného chování služby v souboru Web.config aplikace nepředstavuje jediný způsob konfigurace služby. Služba může také dědit výchozí nastavení konfigurace ze souborů Web.config pro server, web, aplikaci a podadresář, do nichž služba patří. Některé výchozí položky nastavení konfigurace pro služby založené na službách WCF a WF jsou definovány v rámci nepojmenovaného chování služby.

Použití nepojmenovaných chování

Pokud existuje pojmenované chování služby, na které odkazuje atribut behaviorConfiguration dané služby, bude služba používat nastavení v pojmenovaném chování. Bude také dědit nastavení z jakýchkoli dalších pojmenovaných chování se stejným názvem ve vyšších úrovních. Nebude používat výchozí nastavení chování služby definované v souborech Web.config podadresáře, aplikace, webu a serveru, které se na danou službu vztahují. Můžete však změnit značku <service> v souboru Web.config aplikace tak, aby služba dědila výchozí nastavení. Za tímto účelem můžete v souboru Web.config pro jednu či více úrovní definovat nepojmenované chování služby a určit, že požadovaná služba bude používat toto nepojmenované chování. Služba bude nepojmenované chování používat v případě, že je název atributu behaviorConfiguration elementu service nastaven na prázdný řetězec, jak znázorňuje následující kód:

<services>
   <service name=”TutorialService” behaviorConfiguration=””
      <endpoint address=”” binding=”wsHttpBinding” contract=”IService” />
   </service>
</services>

Stejný účinek má vynechání atributu behaviorConfiguration znázorněné v následujícím kódu. V předchozím příkladu je nepojmenované chování použito explicitně, v následujícím příkladu je použito implicitně.

<services>
   <service name=”TutorialService”
      <endpoint address=”” binding=”wsHttpBinding” contract=”IService” />
   </service>
</services>

Účinek nepojmenovaného elementu behaviorConfiguration se projeví tak, že služba zdědí konfiguraci jednoho nebo více nepojmenovaných chování definovaných v elementu serviceBehavior. Následující nepojmenovaný element serviceBehavior je ve výchozím nastavení definován na úrovni serveru. Tato výchozí konfigurace pro server (vytvořená instalačním programem technologie AppFabric) umožňuje sledování služeb, trvalost pracovních postupů a správu instancí pracovních postupů.

<behaviors>
   <serviceBehaviors>
      <behavior name=””>
         <workflowIdle timeToUnload="00:01:00" timeToPersist="infinite" />
         <workflowInstanceManagement authorizedWindowsGroup=”AS_Administrators" />
         <etwTracking profileName="HealthMonitoring Tracking Profile" />
      </behavior>
   </serviceBehaviors>
</behaviors>

Nepojmenované chování může být definováno v souboru Web.config na libovolné úrovni hierarchie. Pokud jsou nepojmenovaná chování definována na více než jedné úrovni obsahující danou službu, bude se konfigurace služby skládat ze sloučených nastavení jednotlivých nepojmenovaných chování definovaných v příslušné hierarchii. Jestliže dvě nebo více nepojmenovaných chování v hierarchii služby obsahuje konfliktní nastavení, bude použito nastavení na nižší nebo nejnižší úrovni. Tento proces agregace nastavení konfigurace pro službu z více nepojmenovaných chování je označován jako sloučení chování.

V oddílech týkajících se chování v souborech Web.config je možné použít také značky remove a clear. Značka remove odebere nastavení nepojmenovaného chování, které ji obsahuje. Značka clear odebere všechna chování pro službu.

Všechny služby, jejichž atribut behaviorConfiguration je nastaven na prázdný řetězec, budou dědit výchozí hodnoty konfigurace z nepojmenovaných chování definovaných v příslušných hierarchiích. V souboru Web.config pro úroveň může existovat pouze jedno nepojmenované chování.

V případě implicitních služeb (známých také jako neoznačené) je nepojmenované chování (s vynechaným atributem behaviorConfiguration) použito implicitně. Neoznačená služba je služba, která není deklarována v souboru Web.config. Není k ní přidružen uzel služby v souboru Web.config. Nové typy projektů v aplikaci Visual Studio 10 ve výchozím nastavení vytvářejí neoznačené služby. Pokud modul runtime zjistí neoznačenou službu, použije u služby automaticky výchozí hodnoty sloučené z příslušných nepojmenovaných chování. V rozšířeních Správce služby IIS nelze změnit koncové body neoznačené služby. Chcete-li je změnit, je nutné do souboru Web.config přidat element pojmenované služby.

Některé výchozí hodnoty konfigurace nastavení pro služby založené na službách WCF a WF jsou definovány v rámci nepojmenovaného chování služby, jiné jsou však definovány mimo rámec nepojmenovaného chování služby. Služba bude například dědit hodnoty konfigurace pro připojovací řetězce nebo kolekce ze všech konfiguračních souborů v hierarchii.

Konfigurace výchozích hodnot ve Správci služby IIS

V uživatelském rozhraní rozšíření technologie AppFabric pro Správce služby IIS je možné přímo konfigurovat aplikaci. V tomto případě nastaví technologie AppFabric pojmenované chování služby v příslušných souborech Web.config (obvykle na úrovni aplikace). Namísto přímé konfigurace služby můžete pomocí Správce služby IIS také změnit konfiguraci služby tak, aby byly použity výchozí hodnoty z úrovní podadresáře, aplikace, webu a serveru. Pokud to provedete, dojde ke změně nepojmenovaného chování v souboru Web.config. Technologie AppFabric na základě sloučení chování vytváří úplnou sadu parametrů konfigurace aplikace.

Pokud jsou ve dvou nebo více souborech Web.config nastaveny různé hodnoty stejné vlastnosti konfigurace, použije technologie AppFabric hodnotu z nižší nebo nejnižší úrovně. Pole v dialogovém okně Konfigurovat službu pro danou službu jsou naplněna hodnotami z nepojmenovaných chování v příslušných souborech Web.config. Tyto hodnoty můžete změnit v uživatelském rozhraní konfigurace na úrovni služby. V takovém případě bude změněno nepojmenované chování pro příslušnou aplikaci. Můžete však také změnit výchozí hodnoty na úrovni podadresáře, webu a serveru. Jestliže po vytvoření nepojmenovaného chování pro aplikaci změníte výchozí nastavení nepojmenovaného chování na vyšší úrovni, bude změna nepojmenovaného chování vyšší úrovně šířena na úroveň služby, pokud nebude na nižší úrovni přepsána.

Pokud chcete ve Správci služby IIS definovat výchozí nastavení pro úroveň aplikace, podadresáře, webu nebo serveru, můžete v podokně Připojení vybrat úroveň a potom v podokně Akce v části Spravovat služby WCF a WF kliknout na možnost Konfigurovat. Je také možné kliknout na úroveň v podokně Připojení pravým tlačítkem myši, přejít na příkaz Spravovat služby WCF a WF a potom kliknout na příkaz Konfigurovat. Zobrazí se dialogové okno pro konfiguraci dané úrovně. Jestliže při provádění změny úrovně v uživatelském rozhraní neexistuje soubor Web.config pro danou úroveň, technologie AppFabric jej vytvoří.

Při konfiguraci služby pomocí rozšíření technologie AppFabric pro Správce služby IIS nemůžete vybrat konfiguraci pojmenovaného chování, která bude použita. Zadání hodnot nebo označení výběrů je třeba provést v dialogovém okně Konfigurovat službu pro danou službu; technologie AppFabric upraví soubor Web.config. Řadu hodnot nastavení konfigurace chování můžete nastavit také pomocí rutin prostředí Windows PowerShell pro technologii AppFabric.

Použití značek location

Technologie AppFabric podporuje operace čtení u značek location v souborech Web.config. Značka location představuje další způsob, jak lze definovat konfiguraci služby, vedle použití pojmenovaného chování služby nebo definování výchozích chování pomocí nepojmenovaného chování služby nebo neoznačené služby. Značka location je element vložený do souboru Web.config, který umožňuje použít nastavení konfigurace u entity, již konkrétně identifikuje. Značka location obsahuje jednu nebo více položek nastavení konfigurace. Obsahuje také cestu určující entitu, u které budou vlastnosti konfigurace použity. Na rozdíl od pojmenovaného chování služby (které se musí nacházet v uzlu <services> souboru Web.config příslušné aplikace) může být značka location zadána do libovolného souboru Web.config. Od nepojmenovaného chování se značka location odlišuje tím, že k platnému vytvoření nevyžaduje nepojmenovaný element behaviorConfiguration v uzlu <service> souboru Web.config aplikace.

Následující příklad uvádí značku location v souboru Web.config webu, která umožní použít nastavení konfigurace u služby s1 v aplikaci app1:

<location path=”app1/s1.svc” overrideMode=”Allow”>
   <defaultDocument enabled=”true”>
      <files>
         <add value=”Developer.htm” />
      </files>
   </defaultDocument>
</location>

Jestliže není deklarována žádná cesta, je použita cesta od úrovně, kde je definována značka location, a nižších úrovní po všechny podřízené cesty (odpovídá zadání tečky (.)). V případě provedení této akce v souboru applicationHost.config bude jejím výsledkem zadání konfigurace pro globální úroveň. Pokud je element overrideMode ve značce location nastaven na hodnotu Povolit, je možné na nižších úrovních hierarchie konfiguraci nastavenou ve značce location upravit a přepsat. Není-li element overrideMode nastaven a existuje více než jedna značka location určující různé hodnoty pro stejné nastavení konfigurace ve stejné službě, bude nastavení, které má být použito, určeno pomocí sady pravidel pro stanovení priority.

Nastavení konfigurace, které je u služby použito na základě značky location, nemůže být změněno pomocí uživatelského rozhraní rozšíření technologie AppFabric pro Správce služby IIS ani pomocí konfigurační rutiny technologie AppFabric. Obsah značky location je pro uživatelské rozhraní nebo rutinu určen jen ke čtení. Pokud se pokusíte změnit značku location pomocí Správce služby IIS nebo rutiny, vrátí tato akce chybu. Chcete-li změnit nastavení použité pomocí značky location, je třeba ručně změnit značku location v souboru Web.config.

Recyklace

Při každé změně souboru Web.config kliknutím na tlačítko Použít nebo OK v dialogovém okně Konfigurovat službu ve Správci služby IIS bude systém recyklovat přidruženou doménu aplikace. Při každém vytvoření výchozího nastavení na úrovni podadresáře, aplikace, webu nebo serveru kliknutím na tlačítko Použít nebo OK a související změně odpovídajícího souboru Web.config budou recyklovány domény aplikace pro všechny služby pod úrovní daného oboru. Doporučujeme minimalizovat počet procesů překonfigurace, zejména na vyšších úrovních, aby se snížily náklady na recyklaci. Při konfiguraci výchozích hodnot byste měli postupovat takto: nakonfigurovat výchozí hodnoty serveru a výchozí hodnoty webu (v libovolném pořadí), poté importovat aplikace a poté nakonfigurovat aplikace a služby, které jsou v nich obsaženy. Důvodem pro toto pořadí je skutečnost, že konfigurace výchozích hodnot může způsobit recyklaci celého stromu. Pokud je to možné, proveďte konfigurační kroky před prvním spuštěním libovolné aplikace, abyste předešli nákladům na recyklaci aplikací.

  2011-12-05