如何避免在 web.config 中的多个位置出现相同的硬编码字符串“applicationName="membershipSampleApp”?
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
minRequiredPasswordLength="5"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="false"
***applicationName="membershipSampleApp"***/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider"
connectionStringName="LocalSqlServer"
***applicationName="membershipSampleApp***"
type="System.Web.Profile.SqlProfileProvider"/>
</providers>
</profile>
<roleManager enabled="true"
cacheRolesInCookie="true"
defaultProvider="AspNetSqlRoleProvider"
cookieName=".ASPXROLES"
cookiePath="/"
cookieTimeout="30"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
createPersistentCookie="false"
cookieProtection="All">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="LocalSqlServer"
***applicationName="membershipSampleApp"***/>
</providers>
</roleManager>
如果没有这样的东西,是否有编码替代方案可以在 web.config 中指定此信息?
通常情况下,在 ASP.NET 中,事情似乎可以在“尖括号”(在 ASP.NET 标记或 web.config 中)中完成,也可以通过代码隐藏逻辑来完成,但人们通常会这样做更喜欢括号方法。我认为前者创建的代码不太灵活,尤其是难以阅读且智能感知有限的代码。
这可以通过代码完成吗?怎么办?
最佳答案
不幸的是,.NET 配置文件中没有变量的概念 - 您必须在整个文件中复制该字符串。
关于asp.net - 你如何做一个Web.Config "Constant?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313999/