从app.config中解析带有转义字符的字符串

本文关键字:转义字符 字符串 app config | 更新日期: 2023-09-27 18:19:08

这是一个非常愚蠢的问题,但我现在真的很沮丧。

我有一个app.config存储用户凭据现在,为SQL Server。

用户名是reader,密码是"abcdefg"

当我尝试执行插入操作时,我得到了这个异常:

初始化字符串的格式不符合从索引138开始的规范。

当我更改凭据给一个没有任何必须转义的特殊字符的用户时,它就像一个符咒。

有谁知道它是什么吗?

在调试会话期间被捣碎的连接字符串是:

Data Source=MACHINE''SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password='"abcdefg'"

从app.config中解析带有转义字符的字符串

您可以使用"

转义密码字段中的双引号

所以connectionStrings应该是这样的

  <connectionStrings>
    <add connectionString="Data Source=MACHINE''SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=&quot;abcdefg&quot;" name="CS"/>
  </connectionStrings>

可以使用xml字符转义。例如,一个空间是, # x20的;你可以用这种方式转义任何字符。一般形式是, # x hhhh 字符;或, # nnnn ;其中hhhh为十六进制,nnnn为十进制。

这里也列出了"快捷键":https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references