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.
Abra o <arquivo MyService>\PackageRoot\Config\Settings.xml em seu projeto de serviço.
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>
Guarde e feche o ficheiro.
Abra o <arquivo MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml .
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>
ServiceManifestImport
Na seção do arquivo ApplicationManifest.xml, adicione umConfigOverrides
elemento eConfigOverride
, 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.