Itu dengan desain. Bagian dari system.webServer pada dasarnya mendefinisikan IIS itu sendiri. Jika Anda, Anda tidak akan dibiarkan dengan apa pun. Di applicationHost.config, Anda harus memiliki sesuatu seperti ini:
<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" />
...
Perhatikan properti lockItem. Karena ada 1 atau lebih item kunci, akan menyebabkan pelanggaran kunci.
Jadi, Anda harus menghapus item yang tidak Anda inginkan dari web.config secara khusus, atau jika Anda benar-benar perlu menghapus semuanya dan menambahkan kembali milik Anda, maka di applicationHost.config hapus lockItem = "true" pada masing-masing elemen tersebut, dan pastikan untuk menambahkannya kembali sehingga server web Anda benar-benar berfungsi.
Edit
(Tambahkan informasi lebih lanjut dari Daniel, sesuai permintaannya. (Scott))
Inilah yang saya lakukan berdasarkan apa yang dikatakan Scott:
Membuka applicationHost.config di% windir% \ system32 \ inetsrv \ config. Perhatikan bahwa dalam Windows Server 2008 64 bit, Anda harus mengedit file dengan editor 64 bit (Notepad asli akan berfungsi, tetapi Notepad ++ tidak akan dapat menemukan file). Lihat di sini untuk informasi lebih lanjut tentang ini.
Pada elemen, ubah atribut lockItem pada semua modul menjadi false.
Dalam file web.config aplikasi web saya, kemudian dapat melakukan hal berikut:
<system.webServer>
<modules>
<clear />
</modules>
</system.webServer>
Tentu saja, seperti yang ditunjukkan Scott, ini berarti tidak ada server web yang tersisa, jadi di sini adalah set minimum modul yang saya perlukan untuk membuat barang-barang saya berjalan kembali (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" />
Juga, bagi siapa pun yang tertarik, inilah latar belakang mengapa saya melakukan ini.