Cómo parametrizar los archivos de configuración en Service Fabric
En este artículo se muestra cómo parametrizar un archivo de configuración de Service Fabric. Si aún no conoce los conceptos básicos de administración de aplicaciones para varios entornos, lea Administración de aplicaciones en varios entornos.
Procedimiento para parametrizar los archivos de configuración
En este ejemplo, se reemplaza un valor de configuración mediante parámetros en la implementación de la aplicación.
Abra el archivo <MyService>\PackageRoot\Config\Settings.xml en el proyecto de servicio.
Establezca un nombre del parámetro de configuración y un valor, por ejemplo, el tamaño de caché igual a 25; para ello, agregue el siguiente código XML:
<Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="25" /> </Section>
Guarde y cierre el archivo.
Abra el archivo <MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml.
En el archivo ApplicationManifest.xml, declare un parámetro y el valor predeterminado en el elemento
Parameters
. Se recomienda que el nombre del parámetro contenga el nombre del servicio (por ejemplo, "MiServicio").<Parameters> <Parameter Name="MyService_CacheSize" DefaultValue="80" /> </Parameters>
En la sección
ServiceManifestImport
del archivo ApplicationManifest.xml, agregue un elementoConfigOverrides
yConfigOverride
que haga referencia al paquete de configuración, la sección y el parámetro.<ConfigOverrides> <ConfigOverride Name="Config"> <Settings> <Section Name="MyConfigSection"> <Parameter Name="CacheSize" Value="[MyService_CacheSize]" /> </Section> </Settings> </ConfigOverride> </ConfigOverrides>
Nota:
Cuando se agrega un elemento ConfigOverride, Service Fabric siempre elige los parámetros de la aplicación o el valor predeterminado especificado en el manifiesto de la aplicación.
Acceso a configuraciones parametrizadas en el código
Puede acceder a la configuración en el archivo settings.xml mediante programación. Por ejemplo, el siguiente archivo XML de configuración:
<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 el código siguiente para acceder a los 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);
}
Aquí, Parameter.Name
será MyParameter y Parameter.Value
será Value1.
Pasos siguientes
Para obtener más información sobre otras funcionalidades de administración de aplicaciones disponibles en Visual Studio, vea Administración de aplicaciones de Service Fabric en Visual Studio.