Como parametrizar ficheiros de configuração no Service Fabric
Este artigo mostra-lhe como parametrizar um ficheiro de configuração no Service Fabric. Se ainda não estiver familiarizado com os principais conceitos de gestão de aplicações para vários ambientes, leia Gerir aplicações para vários ambientes.
Procedimento para parametrizar ficheiros de configuração
Neste exemplo, vai substituir um valor de configuração através de parâmetros na implementação da aplicação.
Abra o <ficheiro myService>\PackageRoot\Config\Settings.xml no projeto de serviço.
Defina um nome e valor de parâmetro de configuração, por exemplo, o tamanho da cache igual a 25, ao adicionar o seguinte XML:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Guarde e feche o ficheiro.
Abra o <ficheiro myApplication>\ApplicationPackageRoot\ApplicationManifest.xml .
No ficheiro ApplicationManifest.xml, declare um parâmetro e um valor predefinido no
Parameters
elemento . Recomenda-se 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 secção do ficheiro ApplicationManifest.xml, adicione umConfigOverrides
elemento eConfigOverride
, referenciando o pacote de configuração, a secção e o parâmetro .<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Nota
No caso de adicionar uma ConfigOverride, o Service Fabric escolhe sempre os parâmetros da aplicação ou o valor predefinido especificado no manifesto da aplicação.
Aceder a configurações parametrizadas no código
Pode aceder à configuração no seu ficheiro settings.xml programaticamente. Vejamos, por exemplo, o seguinte ficheiro 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>
Utilize o seguinte código para aceder aos 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
estará MyParameter e Parameter.Value
será Value1
Passos seguintes
Para obter informações sobre outras capacidades de gestão de aplicações disponíveis no Visual Studio, veja Gerir as suas aplicações do Service Fabric no Visual Studio.