Citation d’échappement dans la chaîne de connexion web.config

J’ai une chaîne de connexion dans ma configuration Web:

 

Comme vous le voyez, il y a un signe de citation (“) dans le mot de passe (donné par un autre département. Je ne peux pas changer le mot de passe des utilisateurs de la firebase database).

Comment dois-je échapper à la citation dans cette chaîne de connexion?

Btw: J’ai déjà essayé & quot; dans la chaîne. Cela n’a pas fonctionné – ado.net a eu une exception ArgumenException alors: “Le format de la chaîne d’initialisation n’est pas conforme à la spécification commençant à l’index 57.” 57 est l’endroit où & quot; est dans ma chaîne de connexion. J’ai également essayé de joindre la partie mot de passe dans ‘- n’a pas fonctionné non plus.

Aussi essayé “” et \ “- web.config ne peut pas être analysé alors.

Merci pour la solution:

J’ai dû combiner l’évasion du double guillemet et mettre le mot de passe entre guillemets simples:

  

Utilisez " au lieu de " pour y échapper.

web.config est un fichier XML, vous devez donc utiliser XML pour vous échapper.

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

Voir ce fil de forum.

Mise à jour :

" devrait fonctionner, mais comme ce n’est pas le cas, avez-vous essayé certaines des séquences d’échappement de chaînes pour .NET? \" et "" ?

Mise à jour 2:

Essayez des guillemets simples pour la connectionSsortingng:

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

Ou:

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

Mise à jour 3:

Depuis MSDN (propriété SqlConnection.ConnectionSsortingng):

Pour inclure des valeurs contenant un point-virgule, un guillemet simple ou un guillemet double, la valeur doit être placée entre guillemets. Si la valeur contient à la fois un point-virgule et un guillemet, la valeur peut être placée entre guillemets simples.

Alors:

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

Le problème ne concerne pas web.config, mais le format de la chaîne de connexion. Dans une chaîne de connexion, si vous avez un " dans une valeur (de la paire clé-valeur), vous devez inclure la valeur dans ' . Alors, Password=somepass"word ne fonctionne pas, Password='somepass"word' Est-ce que.

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

Web.config étant XML, vous devez échapper aux cinq caractères spéciaux suivants:

& -> & esperluette, U + 0026
< -> < équerre gauche, signe inférieur à, U + 003C
> - >> équerre droite, signe supérieur à, U + 003E
" -> " guillemet, U + 0022
' -> ' apostrophe, U + 0027

+ n'est pas un problème, je suppose.

si " ne fonctionne pas alors essayez " au lieu.

Utilisez " Cela devrait fonctionner.

La réponse d’Odeds est presque complète. Juste une chose à append.

  1. Échapper à des caractères spéciaux xml comme Emanuele Greco dit.
  2. Mettez le mot de passe entre guillemets comme dit Oded
  3. (celui-ci est nouveau) Evite les tiques simples avec un autre tick simple ( ref )

ayant ce mot de passe = “‘, cela devrait être une chaîne de connexion valide:

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