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.

  1. Abra el archivo <MyService>\PackageRoot\Config\Settings.xml en el proyecto de servicio.

  2. 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>
    
  3. Guarde y cierre el archivo.

  4. Abra el archivo <MyApplication>\ApplicationPackageRoot\ApplicationManifest.xml.

  5. 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>
    
  6. En la sección ServiceManifestImport del archivo ApplicationManifest.xml, agregue un elemento ConfigOverrides y ConfigOverride 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.