首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >IIS7在一台服务器上为web.config抛出“定义了重复的节”错误,但在另一台服务器上没有抛出

IIS7在一台服务器上为web.config抛出“定义了重复的节”错误,但在另一台服务器上没有抛出
EN

Stack Overflow用户
提问于 2011-09-07 22:12:56
回答 3查看 55.3K关注 0票数 17

我有3台服务器,它们都运行Windows Web Server、.NET 4和IIS7。我的web.config文件的开头部分是:

代码语言:javascript
复制
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <configSections>
    <section name="loggingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary.Logging, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
        <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
        <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
          <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
          <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
          <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>

这在2台服务器上运行良好,但其中一台服务器报告了错误:

定义了重复的'system.web.extensions/scripting/scriptResourceHandler‘节

在这条线上:

代码语言:javascript
复制
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />

如果我删除了这一行,那么它就会报告下一行重复,依此类推,直到我删除了几乎所有的配置节。

你知道这是什么原因吗?

编辑:

这是一个更新到VS 2010和.NET 4的.NET 3.5应用程序。所有3台服务器都安装了.NET 2/3.5和4。IIS应用程序池已全部更新到.NET 4。

在所有3个服务器中,machine.config文件已经在其中定义了其中的一些web.config部分(正如达米恩的回答所提到的),但3个服务器中只有1个抱怨它被复制。

EN

回答 3

Stack Overflow用户

发布于 2011-09-07 22:31:56

在“坏掉”的服务器上,你的应用程序池运行的是.NET 4.0。修复方法是将应用程序池设置为作为.NET 2.0运行。

因为ASP.NET AJAX是在.NET 2.0之后发明的,所以配置定义从未进入中央web.config,所以在大多数情况下,您必须逐个站点地声明它们。4.0清理了很多这方面的问题,带来的副作用是打破了ASP.NET以前版本的默认配置。

票数 28
EN

Stack Overflow用户

发布于 2011-09-07 22:25:27

在我的机器上检查了machine.config之后,似乎已经定义了这些部分。它们是否已从其他机器的machine.config中删除(或者该站点实际上是在这些其他服务器上运行的早期版本的ASP.Net下运行的吗?)

据我所知,这些部分是由machine.config中默认安装的ASP.NET 4定义的。

票数 2
EN

Stack Overflow用户

发布于 2015-12-18 21:31:29

我收到了一个关于重复部分的类似错误,并修复了它部署到IIS上的不同网站。

我在该网站上部署了大量的旧应用程序,我认为这与web.config有一些冲突。

我只是删除了网站,创建了一个新的,并部署在那里,它工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7335359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档