Parametrizace konfiguračních souborů na platformě Service Fabric
Tento článek ukazuje, jak parametrizovat konfigurační soubor v Service Fabric. Pokud ještě neznáte základní koncepty správy aplikací pro více prostředí, přečtěte si článek Správa aplikací pro více prostředí.
Postup parametrizace konfiguračních souborů
V tomto příkladu přepíšete hodnotu konfigurace pomocí parametrů v nasazení aplikace.
<Otevřete soubor MyService>\PackageRoot\Config\Settings.xml v projektu služby.
Nastavte název a hodnotu konfiguračního parametru, například velikost mezipaměti rovna 25, přidáním následujícího XML:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Soubor uložte a zavřete.
<Otevřete soubor MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml.
V souboru ApplicationManifest.xml deklarujte parametr a výchozí hodnotu v elementu
Parameters
. Doporučuje se, aby název parametru obsahoval název služby (například MyService).<Parameters> <Parameter Name="MyService_CacheSize" DefaultValue="80" /> </Parameters>
ServiceManifestImport
V části souboru ApplicationManifest.xml přidejteConfigOverrides
aConfigOverride
element odkazující na konfigurační balíček, oddíl a parametr.<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Poznámka:
V případě, kdy přidáte ConfigOverride, Service Fabric vždy zvolí parametry aplikace nebo výchozí hodnotu zadanou v manifestu aplikace.
Přístup k parametrizovaným konfiguracím v kódu
Ke konfiguraci v souboru settings.xml můžete přistupovat prostřednictvím kódu programu. Například následující konfigurační soubor XML:
<Settings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schemas.microsoft.com/2011/01/fabric">
<!-- Add your custom configuration sections and parameters here -->
<Section Name="MyConfigSection">
<Parameter Name="MyParameter" Value="Value1" />
</Section>
</Settings>
Pro přístup k parametrům použijte následující kód:
CodePackageActivationContext context = FabricRuntime.GetActivationContext();
var configSettings = context.GetConfigurationPackageObject("Config").Settings;
var data = configSettings.Sections["MyConfigSection"];
foreach (var parameter in data.Parameters)
{
ServiceEventSource.Current.ServiceMessage(this.Context, "Working-{0} - {1}", parameter.Name, parameter.Value);
}
Tady Parameter.Name
bude MyParameter a Parameter.Value
bude hodnota1.
Další kroky
Informace o dalších možnostech správy aplikací, které jsou dostupné v sadě Visual Studio, najdete v tématu Správa aplikací Service Fabric v sadě Visual Studio.