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.

  1. <Öppna filen MyService>\PackageRoot\Config\Settings.xml i tjänstprojektet.

  2. 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>
    
  3. Spara och stäng filen.

  4. <Öppna filen MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml.

  5. 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>
    
  6. I avsnittet ServiceManifestImport i filen ApplicationManifest.xml lägger du till ett ConfigOverrides element och ConfigOverride 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.