Cómo eliminar una ConnectionString usando transformaciones de configuración


Tengo una red.configuración con varias conexiones

<connectionStrings>
    <add name="connStr1" connectionString="...
    <add name="ConnStr2" connectionString="...
    <add name="connStr3" connectionString="...

¿Hay alguna forma de usar transformaciones de configuración para eliminar una conexionstring específica? Algo Como:

<connectionStrings>
    <xdt:Remove connStr2?

Obviamente no está cerca de la sintaxis correcta, pero entiendes mi idea...

Author: Didaxis, 2012-01-19

2 answers

De la documentación de MSDN sobre el tema:

<configuration xmlns:xdt="...">
  <connectionStrings>
    <add xdt:Transform="Remove" />
  </connectionStrings>
</configuration>

El Transform="Remove" es la magia que estás buscando. También hay un Transform="RemoveAll" que puede ser capaz de utilizar junto con un add(s) específico (s).

EDITAR

Pensándolo bien, también puede combinar el Locator atributo con el Remove definido anteriormente para limitar los elementos que realmente desea eliminar.

Más definitivamente:

<configuration xmlns:xdt="...">
  <connectionStrings>
    <add xdt:Transform="Remove" xdt:Locator="XPath(configuration/connectionStrings[@name='ConnStr2'])" />
  </connectionStrings>
</configuration>

O similar debería funcionar.

 59
Author: M.Babcock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-01-19 04:03:00

Esto eliminará una cadena de conexión específica basada en su nombre.

<configuration>
  <connectionStrings> 
    <add name="ConnStr2" xdt:Transform="Remove" xdt:Locator="Match(name)" connectionString=" " /> 
  </connectionStrings> 
</configuration>

Tenga en cuenta que el valor connectionString no es una cadena vacía, sino un espacio. Cualquier valor no vacío haría.

 92
Author: hyke20,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-23 11:21:17