Ini membuat seluruh tim gila. Pasti ada beberapa bagian IIS atau Server Web yang salah dikonfigurasi, tetapi setiap kali kami mencoba menjalankan Aplikasi Web ASP.NET pada IIS 7.5, kami mendapatkan kesalahan berikut ...
Inilah kesalahan secara penuh:
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration
data for the page is invalid.
`Detailed Error Information`
Module IIS Web Core
Notification Unknown
Handler Not yet determined
Error Code 0x8007000d
Config Error
Config File \\?\E:\wwwroot\web.config
Requested URL http://localhost:80/Default.aspx
Physical Path
Logon Method Not yet determined
Logon User Not yet determined
Config Source
-1:
0:
Mesin menjalankan Windows Server 2008 R2 . Kami sedang mengembangkan Aplikasi Web kami menggunakan Visual Studio 2008 .
Menurut Microsoft, kode 8007000d berarti ada kesalahan sintaks di web.config kami - kecuali proyek tersebut dibuat dan berjalan dengan baik secara lokal. Melihat web.config di XML Notepad juga tidak memunculkan kesalahan sintaksis. Saya berasumsi pasti ada semacam konfigurasi yang buruk di pihak saya ...?
Adakah yang tahu di mana saya dapat menemukan informasi lebih lanjut tentang kesalahan? Tidak ada yang ditampilkan di EventViewer, baik :(
Tidak yakin apa lagi yang akan membantu untuk menyebutkan ...
Bantuan sangat dihargai. Terima kasih!
PEMBARUAN! - POS WEB.CONFIG DI BAWAH INI
Oke, sejak saya memposting pertanyaan asli di atas, saya telah melacak garis yang tepat di web.config yang menyebabkan kesalahan.
Inilah garis-garisnya (muncul di antara <System.webServer>
tag) ...
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpHandlers>
Catatan: Jika saya menghapus garis antara yang <httpHandlers>
saya MASIH mendapatkan error. Saya benar-benar harus menghapus <httpHandlers>
(dan baris peralihan) untuk berhenti mendapatkan kesalahan di atas.
Setelah saya melakukan ini, saya mendapatkan kesalahan 500,19 baru . Untungnya, kali ini IIS benar-benar memberi tahu saya bagian mana dari web.config yang menyebabkan masalah ...
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
Melihat garis-garis ini jelas masalah telah bermigrasi lebih jauh dalam <system.webServer>
tag yang sama ke <handlers>
tag.
Kesalahan baru juga lebih eksplisit dan secara khusus mengeluh bahwa ia tidak mengenali atribut "validate" (seperti yang terlihat pada baris ketiga di atas). Menghapus atribut ini kemudian membuatnya mengeluh bahwa baris yang sama tidak memiliki atribut "nama" yang diperlukan. Menambahkan atribut ini kemudian memunculkan kesalahan ASP.NET ...
Tidak dapat memuat file atau perakitan 'System.web.Extensions, Versi = 1.0.61025.0, Culture = netral, PublicKeyToken = f2cb5667dc123a56' atau salah satu dari dependensinya. Sistem tidak dapat menemukan berkas yang dicari.
Jelas saya pikir kesalahan baru ini baru saja muncul dari saya menghapus <httpHandlers>
tag di tempat pertama - mereka jelas dibutuhkan oleh aplikasi - jadi pertanyaannya tetap: Mengapa tag ini menendang kesalahan dalam IIS di tempat pertama? ??
Apakah saya perlu menginstal sesuatu ke IIS untuk membuatnya bekerja dengan mereka?
Sekali lagi terima kasih atas bantuannya.
WEB.CONFIG
Inilah bagian-bagian bermasalah dari web kami. Konfigurasi ... Saya harap ini membantu seseorang menemukan masalah kami!
<system.Web>
<!-- stuff cut out -->
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</httpModules>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</modules>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
</handlers>
</system.webServer>
sumber
web.config
. Mereka mulai dengan<!--
dan diakhiri dengan-->
.Jawaban:
Saya memiliki gejala-gejala yang tepat dan masalah saya mirip dengan Peter. Sedang menyiapkan proyek yang ada di server baru. Proyek saya mereferensikan modul Penulisan Ulang URL IIS7, tetapi itu belum diinstal pada server baru. Menginstalnya memperbaiki masalah saya.
Anda dapat menggunakan Penginstal Platform Web Microsoft untuk menginstalnya. Jalankan, pilih Produk , di menu kiri pilih Server dan cari URL Tulis ulang dalam daftar dan instal.
Atau Anda dapat mengunduhnya di sini .
sumber
Setelah berjuang dengan ini selama satu hari dengan mesin baru, saya menemukan tautan berikut. Saya melewatkan modul penulisan ulang. Ini memperbaiki segalanya.
http://forums.iis.net/t/1176834.aspx
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
sumber
<rewrite>
tag tetapi saya tidak menginstal urlrewrite. Saya berkomentar<rewrite>
hal - hal dan situs saya dikompilasi dan dimuat segera.Aha! Saya mengalahkan masalah ini! Ya Tuhan, itu adalah binatang buas untuk orang seperti saya dengan pengalaman IIS terbatas. Saya benar-benar berpikir saya akan menghabiskan seluruh akhir pekan untuk memperbaikinya.
Inilah solusi bagi siapa pun yang pernah mengalami masalah jahat ini.
Hal pertama yang harus diperhatikan: Jika Anda berharap ini adalah solusi Anda, pastikan Anda memiliki Kode Kesalahan yang sama ( 0x8007000d ) dan Sumber Config ( -1: 0:) . Jika tidak, ini bukan solusi Anda.
Hal berikutnya yang harus diperhatikan: AJAX tidak diinstal dengan benar di web.config Anda!
Perbaiki dengan mengikuti panduan ini:
http://www.asp.net/AJAX/documentation/live/ConfiguringASPNETAJAX.aspx
Kemudian, instal ekstensi AJAX 1.0 di server produksi Anda, dari tautan ini:
Itu dia!
sumber
Masalah yang sama pada Server 2016, kesalahan IIS 10, 500,19. Saya memasang modul pengalihan dan itu berhasil. Saya tidak tahu mengapa ini tidak disertakan secara default.
https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads
Untuk menjadi jelas sepertinya web.config dari IIS 7 akan berfungsi, atau dirancang untuk bekerja, tetapi kurangnya modul ini memberikan kesalahan yang benar-benar aneh dan tidak membantu. Googling membawa Anda ke halaman Microsoft yang menegaskan bahwa situs Anda rusak atau web.config Anda rusak. Sepertinya tidak demikian.
Halaman tidak membantu itu ada di sini: https://support.microsoft.com/en-us/kb/942055
sumber
Punya masalah yang sama seperti di atas, kode kesalahan yang sama dll. Menyiapkan situs web lokal pada Windows 8. Setelah banyak pencarian ditemukan bahwa kami kehilangan penulisan ulang URL. Setelah mengunduhnya semuanya baik-baik saja. :)
sumber
Saya hanya menambahkan jawaban karena saya menghabiskan waktu berjam-jam untuk mencoba mengatasi gejala yang sama (tetapi masalah berbeda):
Penyebab yang mungkin adalah dll x86 dalam kumpulan aplikasi 64 bit, solusinya adalah mengaktifkan aplikasi 32 bit dalam pengaturan kumpulan aplikasi.
sumber
Bagi saya, mendaftar ulang asp.net untuk iis berhasil. Semoga itu bisa membantu orang lain.
sumber
Singkatnya berdasarkan jawaban di sini dan di tempat lain:
sumber
Cara lain untuk mendapatkan 500,19 errot tanpa alasan yang jelas adalah - direktori hilang dan / atau izin rusak pada mereka.
Dalam hal pertanyaan ini, saya yakin pertanyaannya menanyakan tentang versi IIS lengkap. Saya menganggap ini karena baris ini:
Penginstal IIS biasanya membuatkan
wwwroot
untuk Anda dan itulah folder root default untuk semua situs web dan titik pemasangan untuk direktori virtual. Itu selalu ada, jadi tidak masalah, Anda biasanya tidak terlalu peduli tentang itu.Karena file web.config bersifat hierarkis, Anda dapat meletakkannya di sana file master web.config dan memiliki beberapa pengaturan root di sana, dan semua situs akan mewarisinya. IIS memeriksa apakah file itu ada dan mencoba memuatnya.
Namun, bagian pertama yang menyenangkan:
Direktori ini akan ada jika Anda telah menginstal IIS dengan benar. Jika tidak ada, Anda akan mendapatkan kesalahan 500 kelas. Namun, jika Anda bermain dengan izin file / direktori, terutama yang 'canggih', Anda sebenarnya dapat secara tidak sengaja menolak akun layanan IIS dari pemindaian / membaca isi direktori ini. Jika IIS tidak dapat memeriksa apakah wwwroot \ web.config itu ada, atau jika ada dan IIS tidak dapat membuka & membacanya - bam - kesalahan 500 kelas.
Namun, untuk IIS penuh itu sangat tidak mungkin. Pengembang / Admin yang bekerja dengan IIS penuh biasanya enggan bermain dengan
wwwroot
sehingga biasanya tetap dikonfigurasi dengan benar.Namun, di IIS Express ..
Biasanya, IIS Express "hanya berfungsi". Seringkali, pengembang yang menggunakan IIS Express sering tidak menyadari seberapa internal IIS yang sebenarnya.
Anda dapat dengan mudah menemukan fakta bahwa IIS Express memiliki file applicationHost.config sendiri dan VS membuat dan mengelola untuk Anda (dengan benar, sampai batas tertentu) dan semacam pembuka mata memberi tahu Anda bahwa itu tidak sesederhana itu dan menunjuk- dan klik seperti pada awalnya.
Selain file konfigurasi itu, VisualStudio juga membuat struktur direktori kosong di bawah
Documents
folder Anda . Jika saya ingat dengan benar, IIS Express menganggap folder ini sebagai direktori root situs web Anda di mana direktori virtual dengan kode Anda dipasang.Kemudian, sama seperti IIS, ketika IIS Express dijalankan, ia mengharapkan folder ini ada dan memeriksa file web.config root di sana. The situs web.config file. Hampir selalu, file-file web.config ini hilang - dan tidak apa-apa karena Anda tidak menginginkannya - Anda memiliki aplikasi ** web.config Anda ", file-file tersebut ditempatkan dengan sisa konten di direktori virtual.
Sekarang, bagian kedua yang menyenangkan adalah: IIS Express mengharapkan direktori kosong itu. Mereka bisa kosong, tetapi mereka harus ada. Jika tidak ada - Anda akan mendapatkan kesalahan 500 kelas yang memberi tahu Anda bahwa file "web.config" di jalur itu tidak dapat diakses.
Pertama kali saya menabrak masalah ini adalah ketika saya sedang membersihkan hard drive saya. Saya menemukan bahwa folder 'dokumen \ situs web', penuh dengan sampah, saya mengenali beberapa proyek lama yang tidak lagi saya kerjakan, semuanya kosong, tidak ada satu file, jadi saya menghapus semuanya. Seminggu kemudian - bam - Saya tidak dapat menjalankan / debug situs mana pun yang saya kerjakan saat ini. Kesalahan adalah 500,19, tidak dapat membaca file konfigurasi.
Jadi, jika Anda menggunakan IIS Express dan melihat 500-kelas bercerita tentang membaca konfigurasi, hati-hati memeriksa pesan kesalahan dan membaca semua jalur yang disebutkan. Jika Anda melihat sesuatu seperti:
Pergi ke sana tepat di mana kesalahan menunjukkan, memastikan bahwa folder ini ada, memastikan bahwa akun pekerja IIS dapat melintasi dan membacanya, dan jika Anda melihat ada sesuatu yang salah, mungkin itu yang terjadi.
BTW. Di VisualStudio, di ProjectProperties / Web ada tombol "Buat Direktori Virtual". Ini pada dasarnya melakukan hal ini, jadi Anda dapat mencobanya terlebih dahulu, tetapi IIRC juga kadang-kadang dapat menghapus / menimpa / menukar bagian konfigurasi di file applicationHost.config, jadi hati-hati dengan tombol itu jika Anda memiliki pengaturan khusus di sana.
sumber
Dalam kasus saya, ada sesuatu yang salah dengan instalasi .NET Core Windows Hosting Bundle.
Saya telah menginstal dan me-restart IIS menggunakan ("net stop was / y" dan "net start w3svc") setelah instalasi, tapi saya akan mendapatkan kesalahan 500,19 dengan Kode Kesalahan 0x8007000d dan Sumber Konfigurasi -1: 0 :.
Saya berhasil menyelesaikan masalah dengan memperbaiki instalasi .NET Core Windows Hosting Bundle dan memulai kembali IIS menggunakan perintah yang saya sebutkan di atas.
Semoga ini bisa membantu seseorang!
sumber
Kesalahan terperinci yang indah ini masih ada pada tahun 2019! Saya hanya ingin menambahkan bahwa jika Anda
web.config
valid dan dapat diakses kemungkinan besar adalah masalah ketergantungan .Seperti disebutkan oleh OP itu adalah
AJAX
modul, dan seperti yang lain umumnyaRewrite
modul. Tetap buka mata Anda di web.config modul dan pustaka yang dirujuk tag Anda karena kode kesalahan 0x8007000d dapat berupa ketergantungan APAPUN .Dalam kasus saya, saya tidak menyadari
AspNetCore
bundelnya hilang dan harus dipasang! Sangat senang saya menemukan posting ini !!sumber
Ini mungkin atau tidak terkait .... Saya mulai dengan kesalahan yang sama yang disebutkan di atas, mulai googling, membuat perubahan, mendapatkan kesalahan baru, loop tanpa akhir.
Perubahan yang membuat saya oleh kesalahan itu mengacaukan Delegasi Fitur di IIS Manager di bawah bagian Manajemen server. Maaf saya tidak ingat yang mana yang saya ubah, tetapi googling mungkin membantu.
Itu membuat saya melewati kesalahan pertama menjadi aliran yang sama sekali baru dari yang lain, beberapa benar-benar tidak masuk akal. (Saya akan mendapatkan satu kesalahan saat berjalan di bawah direktori virtual, mengonversinya ke aplikasi menghasilkan kesalahan lain, dll.) Yang akhirnya menyelesaikan serangkaian kesalahan ini adalah: Manajer IIS, Application Pool, DefaultAppPool, Aktifkan aplikasi 32-Bit = Benar
Saya telah memulai aplikasi ini pada kotak windows xp 32 bit, dan sekarang saya menjalankannya di kotak 64bit Windows 7.
Jadi semoga ini membantu orang lain.
sumber
IIS 7.5 saya tidak mengerti tag di web.config Dalam VS 2010 itu juga menggarisbawahi tag itu. Periksa file config Anda dengan akurat untuk menemukan semua tag yang digarisbawahi. Saya memasukkannya ke dalam komentar dan kesalahan hilang.
sumber
Komentari baris berikut di file web.config.
Ini akan bekerja
sumber
Saya memiliki kesalahan yang sama. Saya memiliki situs IIS dengan .net framework versi 2.0, tetapi aplikasi saya membutuhkan 4.0. Saya mengubah versi dan berhasil.
Posting hanya sebagai pengingat jika seseorang memiliki masalah yang sama.
sumber
Pastikan semua fitur IIS Anda diaktifkan dengan benar.
Gulir ke bawah ke Layanan Informasi Internet
Buka World Wide Web plus kotak drop down
sumber
Konfigurasi di bawah ini adalah penyebab masalah saya:
Catatan: Saya menghapus bagian ini untuk pengujian lokal, karena berfungsi dengan baik di Azure.
sumber
Saya memiliki masalah yang sama pada Windows 7.
Solusinya adalah pergi ke pengaturan dasar> terhubung sebagai> pengguna spesifik - dan masuk sebagai pengguna, alih-alih 'pass-through' default
Ini memperbaiki masalah bagi saya.
sumber
Windows 7
Coba ini,
jalankan cmd sebagai Admin.
Batalkan semua iis.
Instal ulang iis dan biasanya berfungsi
Alain
sumber
Saya mendapatkan kesalahan ini dengan meletakkan
<customErrors>
tag di bagian dalam<system.webServer>
daripada<system.web>
di tempatnya. Ada sedikit pertengkaran di bawah<customErrors>
label tetapi saya tidak segera menyadarinya.sumber
Mirip dengan jawaban teratas , kami mendapatkan pengecualian yang sangat tidak membantu ini karena modul IIS CORS yang hilang. Itu kesalahan yang sama persis dengan Kode Kesalahan (0x8007000d) dan Sumber Config (-1: 0 :), tetapi memasang modul Penulisan Ulang URL tidak memperbaikinya.
Kami baru saja memperbarui web.config untuk mengaktifkan CORS untuk beberapa pengembang yang membutuhkannya, tetapi tidak berharap itu akan diperlukan bagi semua pengembang untuk menginstal modul IIS CORS. Sayangnya sepertinya diperlukan.
Untuk memperbaikinya, instal modul IIS CORS dari sini .
sumber
Jika Anda menggunakan aplikasi asp.net.core, Anda juga harus menginstal bundel hosting inti bersih. https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-3.0#install-the-net-core-hosting-bundle
sumber