如何修复web.config中的重复输入错误

时间:2014-11-14 15:02:06

标签: c# asp.net-mvc

我将我的C#Web应用程序上传到GoDaddy并在访问我网站的某些区域时出现Web.config错误。

我没有在本地环境中运行相同的web.config和代码的错误。

描述:

处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并适当修改配置文件。

分析程序错误消息:条目' xxxxx'已被添加。

在我的配置文件中。这是我认为导致错误的部分。

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

    <section name="paypal" type="PayPal.Manager.SDKConfigHandler, PayPalCoreSDK" requirePermission="false" />

  </configSections>

  <paypal>
    <settings>
      <add name="endpoint" value="https://api.sandbox.paypal.com"/>
      <add name="connectionTimeout" value="360000"/>
      <add name="requestRetries" value="1"/>
      <add name="ClientID" value="id"/>
      <add name="ClientSecret" value="secret"/>
    </settings>
  </paypal>

<configuration>

错误消息表明我的Web.config中有重复的值...每次发生错误时,我都会删除建议的重复条目,然后重试。

然而,错误仍然存​​在。

我已经在另一篇文章中看到了后续推荐的解决方案,但我不确定将它们放在哪里。

<remove name="xxx" />
<clear />

你能帮忙吗?

2 个答案:

答案 0 :(得分:2)

您可以在声明之前使用clear或remove(使用add)。因此,您的配置看起来像这样(假设您的PayPal错误导致了这一点 - 您没有发布违规设置)。

<configuration>
    <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

    <section name="paypal" type="PayPal.Manager.SDKConfigHandler, PayPalCoreSDK" requirePermission="false" />

    </configSections>

    <paypal>
        <settings>
            <clear/>
            <add name="endpoint" value="https://api.sandbox.paypal.com"/>
            <add name="connectionTimeout" value="360000"/>
            <add name="requestRetries" value="1"/>
            <add name="ClientID" value="wefewfewDkeynC90tpFx7vfA-Pliw8uQDjv5RZ10Y_NVspuc88pUPLN6yM"/>
            <add name="ClientSecret" value="EdsfdsfdsfdzDomYG2QDHu8jhaAXj4xDZLHadvL5aRfesjwo5c81zbSpRxuE"/>
        </settings>
    </paypal>

<configuration>

答案 1 :(得分:0)

我猜你做了WebDeploy并且它进行了web-config转换,并且出于某种原因为EntityFramework添加了额外的部分(好吧,它试图对EF迁移有所帮助,但是这样做的损害比这更好)。

您肯定没有在本地使用它,但部署web.config可能会添加额外的部分。而该部分最有可能在文件的末尾。你能检查服务器上web.config的确切内容吗?