我的web.config中有一个appSetting值,它包含一个Active Directory组名。即" Mydomain \ MyAdmin_Group"
我的代码检查用户是否在指定的组中但返回false。
User.IsInRole(ConfigurationManager.AppSettings["AdminGroup"].ToString())
如果我使用以下代码,则返回true。
User.IsInRole("MyDomain\\MyAdmin_Group")
我在Web.Config中的appSetting是:
<add key="AdminGroup" value="MyDomain\\MyAdmin_Group"/>
为什么&#34;硬编码&#34;调用工作,但使用ConfigurationManager的版本不起作用?
答案 0 :(得分:2)
您不需要配置文件中的双反斜杠。只需使用一个。双反斜杠仅由c#用于转义反斜杠字符,这在字符串文字中有特殊用途。实际上,如果你是用VB.NET编写的,例如,字符串文字可以使用单个反斜杠,因为它不是VB.NET中的转义字符。