asp.net - classic - IIS 7 lanza el error "sección duplicada definida" para web.config en un servidor, pero no en otro
install asp classic iis 7 (3)
Después de haber comprobado el machine.config
en mi máquina, parece que ya se han definido estas secciones. ¿Se han eliminado de machine.config de las otras máquinas (o estaba el sitio, de hecho, ejecutándose bajo una versión anterior de ASP.Net en estos otros servidores?)
Por lo que puedo ver, estas secciones están definidas por una instalación predeterminada de ASP.NET 4 en machine.config
.
Tengo 3 servidores, todos los cuales ejecutan Windows Web Server, .NET 4 e IIS7. La sección de inicio de mi archivo web.config es:
<?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>
Esto funciona bien en 2 de los servidores, pero uno de ellos informa el error:
Hay una sección duplicada ''system.web.extensions / scripting / scriptResourceHandler'' definida
contra la línea:
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
Si elimino esa línea, entonces se quejará de un duplicado de la siguiente línea, y así sucesivamente hasta que elimine casi todas las secciones de configuración.
¿Alguna idea de lo que puede ocasionar esto?
Editar:
Esta fue una aplicación .NET 3.5 que se actualizó a VS 2010 y .NET 4. Los 3 servidores tienen .NET 2 / 3.5 y 4 instalados. Los grupos de aplicaciones de IIS se han actualizado a .NET 4.
En los 3 servidores, el archivo machine.config
ya tiene algunas de estas secciones web.config definidas en él (como lo menciona la respuesta de Damien), pero solo 1 de los 3 se queja de que esté duplicado.
En el servidor "roto" su grupo de aplicaciones está ejecutando .NET 4.0. La solución es configurar el grupo de aplicaciones para que se ejecute como .NET 2.0.
Debido a que ASP.NET AJAX se inventó después de .NET 2.0, las definiciones de configuración nunca se convirtieron en el web.config central, por lo que tuvo que declararlas según el sitio en la mayoría de las circunstancias. 4.0 limpió un montón de ese cruft, con el efecto secundario de romper las configuraciones predeterminadas para las versiones anteriores de ASP.NET.
Recibía un error similar acerca de las secciones duplicadas y lo arreglé para implementarlo en un sitio web diferente en IIS.
Tuve toneladas de aplicaciones antiguas implementadas en ese sitio web y creo que hubo algún conflicto con el web.config.
Acabo de eliminar el sitio web, crear uno nuevo y desplegar allí y funcionó.