在同一个web.config中使用键

时间:2010-08-23 14:05:29

标签: asp.net

我的应用程序访问一个活动目录以进行登录和查询有关用户的信息,并且我希望将所有活动目录连接信息保存在一个位置。

我希望能够从web.config访问AD连接信息。我假设正确的方法是通过appSettings

<appSettings>
  <add key="LDAPPassword" value="LDAPPassword"/>
  <add key="LDAPPath" value="LDAP://ConnectionString"/>
  <add key="LDAPUser" value="LDAPUser"/>
</appSettings>

我如何在web.config文件中进一步使用这些键以配置MembershipProvider?

<membership defaultProvider="ADMembershipProvider">
  <providers>
    <clear />
    <add name="ADMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider, BlahBlahBlah"
         connectionStringName=LDAPPath
         connectionUsername=LDAPUser
         connectionPassword=LDAPPassword
    />
  </providers>
</membership>

如果不能简单地使用这些添加的密钥,是否有某种支持在其他地方声明变量,这样我就不会重复这种特定于环境的信息?或者是否可以向ADMembershipProvider查询connectionString,connectionUsername和connectionPassword?

2 个答案:

答案 0 :(得分:0)

您使用的是.NET 4.0吗?如果是这样,您可以在值上使用Transform和Locator属性。

http://msdn.microsoft.com/en-us/library/dd465326.aspx

答案 1 :(得分:0)

您可以使用Visual Studio Web.config转换将占位符替换为使用XPath / XSD的数据。

但这不适用于Debug - VS在调试会话启动之前不进行转换并使用“raw”Web.config

在VS2008中,您可以使用预构建事件来启动自定义工具,该工具将用实际设置替换占位符