gpt4 book ai didi

asp.net - 通过 web.config 覆盖 machine.config

转载 作者:行者123 更新时间:2023-12-03 00:07:20 24 4
gpt4 key购买 nike

我学习使用 .Net 的内置配置文件提供程序,并拥有以下内容问题:

我读到 machine.config-settings 可以被 web.config-settings 覆盖.Net 应用程序的一部分。 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>

这些设置用于设置本地配置文件。但是,当我将设置复制到应用程序的 web.config 并更改machine.config 设置,这样它们就不再工作了,我得到了一个配置错误。例如,我将 machine.config 中的提供程序名称更改为“Local”。这应该没问题,因为设置已被覆盖。然而,运行时我收到错误的应用程序:

“条目“AspNetSQLProvider 已添加”(我的翻译)

最佳答案

添加<clear />元素作为 <connectionStrings> 的第一个子元素。它将导致配置系统忽略machine.config中添加的所有连接字符串。并使用提供的新的。您还可以使用<remove>如果您不想清除整个配置项,可以使用 元素来删除单个配置项。

<connectionStrings>
<clear />
<add name="LocalSqlServer" connectionString="Data Source=(local);Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

同样的想法也适用于 <providers>部分也是如此。

关于asp.net - 通过 web.config 覆盖 machine.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com