Eso es por diseño. El <modules>
de system.webServer define esencialmente al propio IIS. Si usted <clear />
No te quedarás con nada. En applicationHost.config, deberías tener algo así:
<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" />
...
Fíjate en las propiedades lockItem. Debido a que hay 1 o más elementos de bloqueo, lanzará una violación de bloqueo.
Así que, o bien necesitas eliminar específicamente sólo los elementos que no quieres de web.config, o si realmente necesitas borrarlos todos y volver a añadir los tuyos, entonces en applicationHost.config elimina el lockItem="true" en cada uno de esos elementos, y asegúrate de volver a añadir los suficientes para que tu servidor web funcione realmente.
Editar
(Se adjunta más información de Daniel, a petición suya. (Scott))
Esto es lo que hice basándome en lo que dijo Scott:
Abrir applicationHost.config en %windir%. \system32\inetsrv\config. Tenga en cuenta que en Windows Server 2008 de 64 bits, tendrá que editar el archivo con un editor de 64 bits (el Bloc de notas nativo servirá, pero el Bloc de notas++ no podrá encontrar el archivo). Vea aquí para más información sobre esto.
En el <system.webServer>
cambie el atributo lockItem de todos los módulos a false.
En el archivo web.config de mi aplicación web, pude entonces 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 volvieran 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 quien esté interesado, aquí está el historia de fondo en cuanto a por qué estoy haciendo esto.