2012-04-13 7 views
7

Ich habe nach der Antwort gesucht und kann sie nicht finden. Es muss etwas Offensichtliches sein und ich vermisse es einfach.ConnectionStrings in app.config mit Zeichen, die die .config-Datei nicht mag

Wir haben eine Verbindungszeichenfolge in einer app.config-Datei. Es verwendet SQL Server-Authentifizierung und das Kennwort enthält ein "&" und ein "+" Symbol. Offensichtlich läuft das Parsing falsch. Das Ändern des Passworts wäre an dieser Stelle mühsam. Gibt es einen Weg, damit umzugehen?

partial connection string with sensitive data blocked

Antwort

10

Encode die '&' als '& amp;' - Ampersand ist ein reserviertes Zeichen in XML

Weitere Informationen: http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references

+0

Das hat den Trick gemacht. Es war etwas Offensichtliches. Vielen Dank! – David

+2

Und wenn ich google "Sonderzeichen xml" finde ich viele Übereinstimmungen. Ich googelte Dinge wie "Sonderzeichen app.config" und ähnliche Suchen. Duh. Die .config-Datei ist nur XML. Brauche Kaffee. – David

5

web.config ist eine XML-Datei und XML-Inhalte muss entwertet werden ...

Ändern der &-& im Passwort-Feld und Sie sind gut zu machen.

+0

Danke! Wie immer, gute Antwort. – David

5

Da die web.config XML ist, müssen Sie die fünf Sonderzeichen entkommen:

& ->&etzeichen, U + 0026
&lt; -><linker Winkel, kleiner-als-Zeichen, U + 003C
&gt; ->>spitze Klammer, Größer-als-Zeichen, U + 003E
&quot; ->"Anführungszeichen, U + 0022
&apos; ->'Apostroph, U + 0027

+ ist kein Problem, nehme ich an.

1

Versuchen Sie, die Zeichen zu codieren. Verwenden Sie &amp; für Et-Zeichen.