我正在制作一个 Windows 服务
。 Service
必须每晚下载一些东西,因此我想将 URI 放在 App.Config 中,以防以后需要更改它。
我想在我的 App.Config 中写入一个 URI。是什么让它无效,我应该如何处理?
<appSettings>
<add key="fooUriString"
value="https://foo.bar.baz/download/DownloadStream?id=5486cfb8c50c9f9a2c1bc43daf7ddeed&login=null&password=null"/>
</appSettings>
我的错误:
- Entity 'login' not defined
- Expecting ';'
- Entity 'password' not defined
- Application Configuration file "App.config" is invalid. An error occurred
最佳答案
您没有正确编码 URI 中的 & 符号。请记住 app.config
是一个XML文件,所以你必须符合XML的转义要求(例如&
应该是&
,<
应该是<
和>
应该是>
)。
在您的情况下,它应该如下所示:
<appSettings>
<add
key="fooUriString"
value="https://foo.bar.baz/download/DownloadStream?id=5486cfb8c50c9f9a2c1bc43daf7ddeed&login=null&password=null"
/>
</appSettings>
但一般来说,如果你想存储一个看起来像 "I <3 angle bra<kets & ampersands >>>"
的字符串然后这样做:
<appSettings>
<add
key="someString"
value="I <3 angle bra<kets & ampersands >>>"
/>
</appSettings>
void StringEncodingTest() {
String expected = "I <3 angle bra<kets & ampersands >>>";
String actual = ConfigurationManager.AppSettings["someString"];
Debug.Assert.AreEqual( expected, actual );
}
关于c# - 如何在 App.Config 中写入 URI 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12685846/