Eso es por diseño. La sección de system.webServer esencialmente define IIS en sí. Si es así, no te quedará nada. En applicationHost.config, debería tener algo como esto:
<modules>
<add name="HttpCacheModule" lockItem="true" />
<add name="DynamicCompressionModule" lockItem="true" />
<add name="StaticCompressionModule" lockItem="true" />
<add name="DefaultDocumentModule" lockItem="true" />
<add name="DirectoryListingModule" lockItem="true" />
<add name="IsapiFilterModule" lockItem="true" />
<add name="ProtocolSupportModule" lockItem="true" />
<add name="HttpRedirectionModule" lockItem="true" />
<add name="StaticFileModule" lockItem="true" />
...
Observe las propiedades lockItem. Debido a que hay 1 o más elementos de bloqueo, arrojará una violación de bloqueo.
Por lo tanto, debe eliminar específicamente solo los elementos que no desea de web.config, o si realmente necesita borrarlos todos y volver a agregar los suyos, en applicationHost.config elimine lockItem = "true" en cada uno de esos elementos, y asegúrese de volver a agregar suficientes para que su servidor web realmente funcione.
Editar
(Se adjunta más información de Daniel, según su solicitud. (Scott))
Esto es lo que hice en base a lo que dijo Scott:
AplicaciónHost.config abierta en% windir% \ system32 \ inetsrv \ config. Tenga en cuenta que en Windows Server 2008 de 64 bits, deberá editar el archivo con un editor de 64 bits (el Bloc de notas nativo funcionará, pero Notepad ++ no podrá encontrar el archivo). Vea aquí para más información sobre esto.
En el elemento, cambie el atributo lockItem en todos los módulos a falso.
En el archivo web.config de mi aplicación web, pude hacer lo siguiente:
<system.webServer>
<modules>
<clear />
</modules>
</system.webServer>
Por supuesto, como señala Scott, esto significa que no queda ningún servidor web, así que aquí está el conjunto mínimo de módulos que necesitaba para que mis cosas vuelvan a funcionar (YMMV):
<add name="HttpRedirectionModule" lockItem="false" />
<add name="StaticFileModule" lockItem="false" />
<add name="CustomLoggingModule" lockItem="false" />
<add name="CustomErrorModule" lockItem="false" />
<add name="IsapiModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
Además, para cualquier persona interesada, esta es la historia de fondo de por qué estoy haciendo esto.
Espero que no sea demasiado tarde para ayudar.
Tengo este problema hoy y soluciono el problema al editar el siguiente nodo XML ApplicationHost.Config:
httpErrors lockAttributes = "allowAbsolutePathsWhenDelegated, defaultPath"
Elimine ese ", defaultPath" y reinicie IIS (iisreset).
Espero que sea útil.
fuente
Intente eliminar su web.config original (crear una copia de seguridad) y después de realizar cambios a través de IIS (creará un nuevo web.config) restaure los cambios originales. En caso de que esté configurando ERRORES HTTP, siga este http://paymentgatewayintegrationhelp.com/Tech-Help/HTTP-Errors-and-webconfig-Lock-Violation-1140.asp
fuente