如何避免出现在我的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中)完成,或者它可以用代码隐藏逻辑来完成但是人们通常更喜欢括号方法。我认为前者创建的灵活性较低,特别是SLOPPY难以读取具有有限智能感知的代码。
可以通过代码完成吗?怎么样?
答案 0 :(得分:4)
不幸的是,.NET配置文件中没有变量的概念 - 您必须在整个文件中复制该字符串。