asp.net - una - no se puede leer el archivo de configuración porque los permisos son insuficientes
La sección de configuración ''system.servicemodel'' no se puede leer porque falta una declaración de sección (8)
Aparentemente IIS7 necesita una sección System.WebServer, incluso si está vacía. Agregar lo siguiente a mi archivo web.config solucionó mi problema.
<system.webServer>
</system.webServer>
Tengo un problema. Mi antiguo servidor web (Windows 2003) ha sido reemplazado, con un 2008 R2. Me han dado una cuenta de administrador y puedo hacer lo que quiera, pero no soy un experto en esta área. Configuré los roles para tener desarrollo de aplicaciones y servidor web (iis7).
PERO, mi sitio web ejecuta .NET4, y el rol solo se instaló 3.5. Así que intenté instalar .NET4 manualmente, en el servidor. Mi problema es que mi sitio web no funcionará en él, debido a la sección System.ServiceModel en mi web.config. Me he asegurado de que se ejecute en el grupo de aplicaciones .NET4.
Supongo que este es un problema de WCF, pero no puedo entender cómo resolverlo. He intentado todo lo que encontré en google. aspnet_regis, ServiceModelReg.exe, etc. Incluso intenté volver a instalar el rol del servidor web, pero sigo teniendo este error cada vez que trato de ingresar a la configuración de los sitios.
Espero que haya algunos expertos aquí, que sepan cómo arreglar esto.
Debido a que mi proyecto debe ejecutarse en .NET 2.0, debo seguir este enlace y me funciona con la solución 3 : ejecutar file.js
El problema para mí fue que WCF Services no estaba instalado. La instalación que solucionó el problema para mí: http://blogs.msdn.com/b/knom/archive/2009/10/14/iis7-wcf-services-svc-do-not-work.aspx
Tenga en cuenta que cambiar la versión .NET del grupo de aplicaciones de 2.0 a 4.0 no era una opción para mí porque el sitio necesitaba ejecutarse en 2.0.
Para mí, que no quería instalar .NET Framework 3.5, la solución era transcribir la sección system.serviceModel
de machine.config
en mi archivo web.config
:
<configuration>
<configSections>
<sectionGroup name="system.serviceModel" type="System.ServiceModel.Configuration.ServiceModelSectionGroup, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="behaviors" type="System.ServiceModel.Configuration.BehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="bindings" type="System.ServiceModel.Configuration.BindingsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="client" type="System.ServiceModel.Configuration.ClientSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="comContracts" type="System.ServiceModel.Configuration.ComContractsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="commonBehaviors" type="System.ServiceModel.Configuration.CommonBehaviorsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
<section name="diagnostics" type="System.ServiceModel.Configuration.DiagnosticSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="extensions" type="System.ServiceModel.Configuration.ExtensionsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="machineSettings" type="System.ServiceModel.Configuration.MachineSettingsSection, SMDiagnostics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineOnly" allowExeDefinition="MachineOnly"/>
<section name="protocolMapping" type="System.ServiceModel.Configuration.ProtocolMappingSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="serviceHostingEnvironment" type="System.ServiceModel.Configuration.ServiceHostingEnvironmentSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowDefinition="MachineToApplication"/>
<section name="services" type="System.ServiceModel.Configuration.ServicesSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="standardEndpoints" type="System.ServiceModel.Configuration.StandardEndpointsSection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<section name="routing" type="System.ServiceModel.Routing.Configuration.RoutingSection, System.ServiceModel.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<section name="tracking" type="System.ServiceModel.Activities.Tracking.Configuration.TrackingSection, System.ServiceModel.Activities, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</sectionGroup>
</configSections>
<system.serviceModel>
<!-- ... -->
</system.serviceModel>
</configuration>
Tenía el mismo mensaje de error, y era porque me faltaba el marco .NET 3.5.1 en ese servidor. Habilitar eso solucionó mi problema: http://blogs.msdn.com/b/sqlblog/archive/2010/01/08/how-to-install-net-framework-3-5-sp1-on-windows-server-2008-r2-environments.aspx
Tuve el mismo problema ... Lo solucioné simplemente con: aspnet_regiis.exe -i
Tuve un motivo diferente para obtener este error.
Esto sucedió durante la migración de un proyecto MVC de .Net 4.0 a 4.5, donde la biblioteca Microsoft.IdentityModel se reemplazó por System.identityModel. En mi caso, había realizado todos los pasos necesarios para la migración de Web.Config enumerados aquí , pero había olvidado cambiar el nombre de la sección en la sección configSections:
<configSections>
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
Como se escribe aquí , la definición de la sección debe ser:
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Vaya a los grupos de aplicaciones en IIS y seleccione "Establecer valor predeterminado de grupo de aplicaciones" [disponible en la esquina superior derecha], y consulte la versión de .NET Framework.
Nota: Se seleccionará como versión .net 4.0 de forma predeterminada