1

我正在尝试在 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是否需要这样做。

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

4

2 回答 2

3

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

您需要转义的字符列表:

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

感谢 ps2goat 纠正我。

于 2013-07-19T06:06:28.440 回答
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 发出指示未找到匹配项的跟踪信息。

于 2020-01-23T15:28:14.797 回答