AGu*_*ald 17 asp.net web-config
我学习使用.Net的内置配置文件提供程序,并遇到以下问题:
我读到可以通过.Net-Application的web.config-settings覆盖machine.config-settings.machine.config文件中的以下设置与我相关:
<connectionStrings>
<add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb;
Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<profile><providers><add name="AspNetSqlProfileProvider"connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/></providers></profile>
Run Code Online (Sandbox Code Playgroud)
这些设置用于设置本地配置文件.但是,当我将设置复制到我的应用程序的web.config并更改machine.config设置,以便它们不再工作时,我收到配置错误.例如,我将machine.config中提供程序的名称更改为"Local".这应该没问题,因为覆盖了设置.但是,在运行应用程序时,我收到错误:
"条目"AspNetSQLProvider已经添加"(我的翻译)
Meh*_*ari 34
添加<clear />
元素作为第一个子元素<connectionStrings>
.这将导致配置系统忽略添加的所有连接字符串machine.config
并使用提供的新连接字符串.<remove>
如果您不想清除整个内容,也可以使用element删除单个配置项.
<connectionStrings>
<clear />
<add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)
同样的想法也适用于<providers>
部分.