Configuratiebestanden parametreren in Service Fabric
In dit artikel leest u hoe u een configuratiebestand in Service Fabric parameteriseert. Als u nog niet bekend bent met de belangrijkste concepten van het beheren van toepassingen voor meerdere omgevingen, leest u Toepassingen beheren voor meerdere omgevingen.
Procedure voor het parameteriseren van configuratiebestanden
In dit voorbeeld overschrijft u een configuratiewaarde met behulp van parameters in uw toepassingsimplementatie.
Open het <bestand MyService>\PackageRoot\Config\Settings.xml in uw serviceproject.
Stel de naam en waarde van een configuratieparameter in, bijvoorbeeld de cachegrootte gelijk aan 25, door de volgende XML toe te voegen:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Sla het bestand op en sluit het bestand.
Open het <bestand MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml .
Declareer in het bestand ApplicationManifest.xml een parameter en standaardwaarde in het
Parameters
element. Het wordt aanbevolen dat de parameternaam de naam van de service bevat (bijvoorbeeld 'MyService').<Parameters> <Parameter Name="MyService_CacheSize" DefaultValue="80" /> </Parameters>
Voeg in de
ServiceManifestImport
sectie van het bestand ApplicationManifest.xml eenConfigOverrides
enConfigOverride
element toe, waarbij wordt verwezen naar het configuratiepakket, de sectie en de parameter.<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Notitie
In het geval dat u een ConfigOverride toevoegt, kiest Service Fabric altijd de toepassingsparameters of de standaardwaarde die is opgegeven in het toepassingsmanifest.
Toegang tot geparameteriseerde configuraties in code
U hebt programmatisch toegang tot de configuratie in uw settings.xml-bestand. Neem bijvoorbeeld het volgende XML-configuratiebestand:
<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>
Gebruik de volgende code voor toegang tot de parameters:
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);
}
Dit Parameter.Name
is MyParameter en Parameter.Value
is Value1