Mengapa IIS menolak untuk melayani konten ASP.NET?

16

Server Windows Server 2003 Std saya menolak konten server ASP.NET. Ini berfungsi html biasa baik-baik saja tapi apa pun. Net, bahkan file html satu baris dengan ekstensi ASPX gagal diam-diam.

Hal yang saya coba:

  • Tidak ada dalam log peristiwa atau log IIS WWW ketika gagal.
  • Fiddler tidak menunjukkan respons
  • Saya menginstal ulang .NET dengan
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -Saya
  • Saya memberikan izin sangat tinggi pada segala hal yang dapat saya pikirkan (kontrol penuh, baca, tulis, dll.) Untuk semua pengguna yang mungkin relevan (IUSER *, ASP.NET, dll.).
  • Saya mengkonfirmasi bahwa Ekstensi Layanan Web ASP.Net v1 dan v2 "diizinkan" di IIS
  • Mengonfirmasi bahwa Server Manager mengaktifkan peran IIS dan ASP.Net

Sekali lagi: inilah skenarionya:

Bimbingan apa pun akan sangat dihargai!


Solusi: Saya menginstal ulang sesuai instruksi di bawah ini dan berfungsi sekarang. Terima kasih semuanya!

Michael Haren
sumber

Jawaban:

23

Saya telah mengalami masalah persis ini beberapa kali, dan setiap kali, solusinya adalah:

  1. pergi ke Panel Kontrol
  2. pergi ke area "Komponen Windows"
  3. hapus IIS, biarkan dihapus
  4. reboot
  5. tambahkan kembali IIS ( pastikan untuk memasukkan hal-hal ASP.NET ketika Anda mencentang kotak ).
  6. Jalankan: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -Saya

Saya menghabiskan berjam-jam men-debug ini di situs klien sekali, dan itu triknya. Sejak itu, setiap kali ini terjadi, ini adalah perbaikannya.

Saya tidak yakin apa penyebabnya, tapi kami merobek konfigurasi IIS terpisah setelah mencoba mengetahuinya, dan bahkan Microsoft RDC'ing ke server yang bersangkutan selama 2 atau 3 jam, dan mereka tidak dapat membantu .

Jadi saya menuliskannya sebagai bug tidak berdokumen di ASP.NET/IIS.

Sam Schutte
sumber
1
Itu berhasil. Soooo banyak waktu terbuang untuk hal ini dengan solusi yang tidak memuaskan - saya benci tidak tahu penyebab sebenarnya. Oh well, ini berfungsi sekarang - terima kasih banyak, Sam!
Michael Haren
2
Langkah 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren
Tidak masalah - senang bisa melayani, karena saya tahu ini menyakitkan!
Sam Schutte
Juga, mungkin penyebab sebenarnya hanyalah pemasangan yang buruk. Saya tahu ketika saya mengalami ini, semuanya terlihat baik-baik saja, tetapi saya berasumsi bahwa suatu tempat registri atau konfigurasi kacau karena beberapa alasan.
Sam Schutte
Mungkin perlu memformat perintah pada langkah 6 sebagai kode, untuk membuatnya lebih mudah untuk mengatakan bahwa bendera adalah huruf besar 'i'.
Dave Andersen
9

Coba ini: http: //localhost/blah.aspx (seharusnya halaman tidak ada). Jika itu memberi Anda 404 bukannya halaman kesalahan asp.net maka asp.net tidak berjalan, jika itu memberi Anda kesalahan 403 maka izin untuk situs salah.

Berikut daftar periksa yang dapat membantu:

  • Apakah IIS berjalan?
  • Apakah situs web Anda berjalan?
  • Apakah kumpulan aplikasi untuk situs web Anda berfungsi dengan benar?
  • Apakah ASP.NET diinstal dan terdaftar?

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -diaktifkan

  • Apakah ASP.NET berjalan?

Periksa tab "ASP.NET" di properti situs web Anda. Pastikan itu menggunakan versi yang benar.

  • Apakah izin diatur dengan benar?

Periksa tab "Direktori Rumah" di properti situs Anda, periksa pengaturan "Jalankan Izin," itu harus diatur untuk memungkinkan skrip. Periksa juga "Ekstensi Layanan Web" untuk memastikan asp.net diizinkan untuk berjalan.

Baji
sumber
Ini adalah daftar yang bagus untuk referensi di masa mendatang. Saya sudah mencoba semua itu kecuali switch -a dan -enable, dan ide blah.aspx. Menginstal ulang IIS adalah apa yang diperlukan. Terima kasih untuk bantuannya!
Michael Haren
Seperti apa tampilan app-pool yang berjalan dengan benar? Seperti apa tampilan app-pool yang salah?
Ian Boyd
Di mana orang menemukan "Ekstensi Layanan Web" sehingga saya dapat memastikan asp.net diizinkan untuk berjalan?
Ian Boyd
3

Buka manajer IIS, klik pada folder Web Service Extensions di panel kiri. Kemudian klik pada ASP.NET Extension di panel kanan dan klik tombol Allow.

Slolife
sumber
Ini sudah diperbolehkan, terima kasih untuk saran, meskipun
Michael Haren
2

Anda tidak perlu menghapus / menginstal ulang IIS untuk membangun kembali dukungan .net, sesuai jawaban sebelumnya. Jalankan saja utilitas aspnet_regiis.exe yang terletak di folder framwork yang sesuai, misalnya:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
Tagihan
sumber
Apakah saya melakukan ini secara berbeda dari yang dicatat dalam pertanyaan saya? Jika tidak, maka saya sudah mencoba ini.
Michael Haren
Untuk alasan apa pun, menjalankan regiis saja tidak membantu.
Sam Schutte