Como parametrizar ficheiros de configuração no Service Fabric

Este artigo mostra como parametrizar um arquivo de configuração no Service Fabric. Se você ainda não está familiarizado com os principais conceitos de gerenciamento de aplicativos para vários ambientes, leia Gerenciar aplicativos para vários ambientes.

Procedimento para parametrizar arquivos de configuração

Neste exemplo, você substitui um valor de configuração usando parâmetros em sua implantação de aplicativo.

  1. Abra o <arquivo MyService>\PackageRoot\Config\Settings.xml em seu projeto de serviço.

  2. Defina um nome e valor de parâmetro de configuração, por exemplo, tamanho de cache igual a 25, adicionando o seguinte XML:

     <Section Name="MyConfigSection">
       <Parameter Name="CacheSize" Value="25" />
     </Section>
    
  3. Guarde e feche o ficheiro.

  4. Abra o <arquivo MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml .

  5. No arquivo ApplicationManifest.xml, declare um parâmetro e um Parameters valor padrão no elemento . É recomendável que o nome do parâmetro contenha o nome do serviço (por exemplo, "MyService").

     <Parameters>
       <Parameter Name="MyService_CacheSize" DefaultValue="80" />
     </Parameters>
    
  6. ServiceManifestImport Na seção do arquivo ApplicationManifest.xml, adicione um ConfigOverrides elemento e ConfigOverride , fazendo referência ao pacote de configuração, à seção e ao parâmetro.

     <ConfigOverrides>
       <ConfigOverride Name="Config">
           <Settings>
             <Section Name="MyConfigSection">
                 <Parameter Name="CacheSize" Value="[MyService_CacheSize]" />
             </Section>
           </Settings>
       </ConfigOverride>
     </ConfigOverrides>
    

Nota

No caso em que você adiciona um ConfigOverride, o Service Fabric sempre escolhe os parâmetros do aplicativo ou o valor padrão especificado no manifesto do aplicativo.

Aceda a configurações parametrizadas em código

Você pode acessar a configuração em seu arquivo settings.xml programaticamente. Tome, por exemplo, o seguinte arquivo XML de configuração:

<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>     

Use o seguinte código para acessar os parâmetros:

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

Aqui Parameter.Name será MyParameter e Parameter.Value será Value1

Próximos passos

Para obter informações sobre outros recursos de gerenciamento de aplicativos disponíveis no Visual Studio, consulte Gerenciar seus aplicativos do Service Fabric no Visual Studio.