Delen via


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.

  1. Open het <bestand MyService>\PackageRoot\Config\Settings.xml in uw serviceproject.

  2. 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>
    
  3. Sla het bestand op en sluit het.

  4. Open het <bestand MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml .

  5. 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>
    
  6. Voeg in de ServiceManifestImport sectie van het bestand ApplicationManifest.xml een ConfigOverrides en ConfigOverride 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

Notitie

Te veel of te grote overrides kunnen invloed hebben op de prestaties van de API.

In plaats van FabricClient.QueryClient.GetApplicationListAsync te gebruiken, haalt u parameters op met behulp van de methode die in deze sectie wordt beschreven. Gebruik voor clusters met veel toepassingen standaardwaarden om de prestaties te verbeteren. De impact van toepassingsparameters op prestaties is afhankelijk van factoren zoals VM-grootte, het aantal parameters, het aantal toepassingen en de lengte van de waarden.

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);
}

Parameter.Name is hier MyParameter en Parameter.Value is Waarde1.

Volgende stappen

Zie Uw Service Fabric-toepassingen beheren in Visual Studio voor meer informatie over andere mogelijkheden voor app-beheer die beschikbaar zijn in Visual Studio.