Parameterisera konfigurationsfiler i Service Fabric
Den här artikeln visar hur du parameteriserar en konfigurationsfil i Service Fabric. Om du inte redan är bekant med huvudbegreppen för att hantera program för flera miljöer läser du Hantera program för flera miljöer.
Procedur för parameterisering av konfigurationsfiler
I det här exemplet åsidosätter du ett konfigurationsvärde med hjälp av parametrar i programdistributionen.
<Öppna filen MyService>\PackageRoot\Config\Settings.xml i tjänstprojektet.
Ange ett namn och värde för konfigurationsparametern, till exempel cachestorlek lika med 25, genom att lägga till följande XML:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Spara och stäng filen.
<Öppna filen MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml.
I filen ApplicationManifest.xml deklarerar du en parameter och ett standardvärde i elementet
Parameters
. Vi rekommenderar att parameternamnet innehåller namnet på tjänsten (till exempel "MyService").<Parameters> <Parameter Name="MyService_CacheSize" DefaultValue="80" /> </Parameters>
I avsnittet
ServiceManifestImport
i filen ApplicationManifest.xml lägger du till ettConfigOverrides
element ochConfigOverride
refererar till konfigurationspaketet, avsnittet och parametern.<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Kommentar
Om du lägger till en ConfigOverride väljer Service Fabric alltid programparametrarna eller standardvärdet som anges i programmanifestet.
Åtkomst till parametriserade konfigurationer i kod
Du kan komma åt konfigurationen i din settings.xml-fil programmatiskt. Ta till exempel följande XML-konfigurationsfil:
<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>
Använd följande kod för att komma åt parametrarna:
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);
}
Här Parameter.Name
är MyParameter och Parameter.Value
kommer att vara Value1
Nästa steg
Information om andra apphanteringsfunktioner som är tillgängliga i Visual Studio finns i Hantera dina Service Fabric-program i Visual Studio.