在Web.config中斜杠

时间:2013-07-19 06:03:03

标签: asp.net xml web-config

我正在尝试在web.config中设置电子邮件凭据,并且用户名中包含斜杠:

<mailSettings>
    <smtp from="test@mydomain.com">
        <network defaultCredentials="true" enableSsl="true" host="test.clientdomain.com" password="password" port="25" userName="domain\admin" />
    </smtp>
</mailSettings>

现在每当我在字符串中看到“\”时,我倾向于用“\”来逃避它。但我不确定在web.config中 userName 的情况下是否需要这样做。

我需要逃避“\”吗?如果不是那么为什么?

2 个答案:

答案 0 :(得分:3)

web.config中的否则您不需要转义"\",因为对于xml,位于引号之间的所有内容都是属性值。反斜杠对xml没有任何特殊含义。

您需要转义的字符列表:

"   &quot;
&   &amp;
<   &lt;
>   &gt;
'   &apos;

感谢ps2goat纠正我。

答案 1 :(得分:0)

Web.config不接受此。小心!

参见; https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuration-based-activation-in-iis-and-was

发送到IIS / WAS的URI中的任何“ \”(反斜杠)都会自动转换为“ /”(正斜杠)。如果添加了包含“ \”的相对地址,并且向IIS发送了使用该相对地址的URI,则反斜杠将转换为正斜杠,并且IIS无法将其与相对地址匹配。 IIS发出跟踪信息,表明找不到匹配项。