Cita de escape en la cadena de conexión web.config

Tengo una cadena de conexión en mi configuración web:

 

Como ve, hay un signo de comillas (“) en la contraseña (proporcionado desde otro departamento. No puedo cambiar la contraseña de estos usuarios db).

¿Cómo debo escapar la cita en esta cadena de conexión?

Por cierto: ya lo intenté & quot; en la cuerda. Eso no funcionó. Entonces, ado.net obtuvo una ArgumenException: “El formato de la cadena de inicialización no cumple con la especificación que comienza en el índice 57”. 57 es donde el & quot; está en mi cadena de conexión. También intenté adjuntar la parte de contraseña en ‘- tampoco funcionó.

También intenté “” y \ “- web.config no se puede analizar entonces.

Gracias por la solución:

Tuve que combinar el escape de la comilla doble y poner la contraseña entre comillas simples:

  

Use " en lugar de " escapar de eso”.

web.config es un archivo XML, por lo que debe usar XML escaping.

 connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" 

Ver este hilo del foro

Actualización :

" debería funcionar, pero como no lo hace, ¿ha probado alguna de las otras secuencias de escape de cadenas para .NET? \" y "" ?

Actualización 2:

Pruebe con comillas simples para connectionString:

 connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word' 

O:

 connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word' 

Actualización 3:

Desde MSDN (Propiedad SqlConnection.ConnectionString):

Para incluir valores que contengan un punto y coma, carácter de comillas simples o comillas dobles, el valor debe estar entre comillas dobles. Si el valor contiene un punto y coma y un comillas dobles, el valor se puede incluir entre comillas simples.

Asi que:

 connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" 

El problema no es con web.config, sino con el formato de la cadena de conexión. En una cadena de conexión, si tiene un " en un valor (del par clave-valor), debe incluir el valor en ' . Entonces, mientras Password=somepass"word no funciona, Password='somepass"word' hace.

 connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" 

Como web.config es XML, debe escapar de los cinco caracteres especiales:

& -> & ampersand, U + 0026
< -> < soporte angular izquierdo, signo menor que, U + 003C
> ->> corchete angular derecho, signo mayor que, U + 003E
" -> " comillas, U + 0022
' -> ' apóstrofo, U + 0027

+ no es un problema, supongo.

si " no está funcionando, entonces intenta " en lugar.

Use " Eso debería funcionar.

La respuesta de Odeds está casi completa. Solo una cosa para agregar.

  1. Escape xml de caracteres especiales como Emanuele Greco dijo.
  2. Ponga la contraseña entre comillas simples como dijo Oded
  3. (este es nuevo) Escape de un solo tic con otro tic ( ref )

teniendo esta contraseña = “‘; esta debería ser una cadena de conexión válida:

 connectionString='Server=dbsrv;User ID=myDbUser;Password='"&&;'