Partilhar via


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, tu substituis um valor de configuração usando parâmetros na implementação da tua aplicação.

  1. Abra o <arquivo MyService>\PackageRoot\Config\Settings.xml no 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. Salve e feche o arquivo.

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

  5. No arquivo ApplicationManifest.xml, declare um parâmetro e um valor padrão no elemento Parameters. É 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. Na seção do arquivo ApplicationManifest.xml, adicione um elemento ServiceManifestImport e ConfigOverrides, referenciando o pacote de configuração, a seção e o parâmetro.

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

Observação

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

Observação

Muitas ou grandes substituições podem afetar o desempenho da API.

Em vez de usar FabricClient.QueryClient.GetApplicationListAsync, busque parâmetros usando o método descrito nesta seção. Para clusters com muitos aplicativos, tente usar valores padrão para melhorar o desempenho. O impacto dos parâmetros do aplicativo no desempenho depende de fatores como o tamanho da VM, o número de parâmetros, o número de aplicativos e o comprimento dos valores.

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 é MyParameter e Parameter.Value é 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.