Ada sejumlah posting tentang ini dan saya sudah mencoba banyak hal sekarang. Tetapi tidak berhasil. Saya seorang Pengembang Winforms pada dasarnya, mulai mengerjakan hal-hal Web ini beberapa hari yang lalu ketika perusahaan saya mengambil inisiatif Web.
Saya punya proyek ASP.Net dan saya ingin meng-host-nya di IIS lokal. Dalam Project properties -> Web
pengaturan saya memilih Use Local IIS Server
dan memberikan url sebagai localhost/MyApp
. Saya mencoba mengaksesnya di browser firefox saya dan menerima kesalahan sebagaiHTTP Error 503. The service is unavailable.
Sebelumnya saya mendapat banyak kesalahan lain dan saya satu persatu memperbaiki semuanya. Tetapi terpukul dengan yang satu ini. Ini adalah pengaturan yang saya miliki di proyek saya
- Kumpulan Aplikasi diatur ke ASP.Net v4.0 Classic
Enable 32 bit Application
Properti App Pool benar- App Pool dimulai
- Properti pembuatan proyek ditetapkan
Any CPU
untuk kerangka kerja Target
Tapi saya ingin menyebutkan perilaku yang aneh. Mengikuti adalah sesuatu yang saya hadapi
- Pool Aplikasi Dimulai
- Saya mencoba mengakses situs web lokal saya (dengan memberikan url sebagai
localhost/MyApp
) - Saya menerima kesalahan sebagai
HTTP Error 503. The service is unavailable
- Pool Aplikasi Dihentikan
Saya telah melihat tautan berikut dan saya sudah mencobanya. Untuk perilaku di atas saya sampai di sini . Menurut tautan ini, nama komputer tidak boleh ada .
di dalamnya. Saya tidak memiliki .
nama komputer saya tetapi ada -
di dalamnya. Juga nama domain saya berisi .
di dalamnya. Selain itu, saya tidak dapat mengubah pengaturan ini karena laptop kantor saya dan pengaturan TFS kami terikat dengan Nama Domain dan Komputer kami.
Adakah yang bisa membantu saya untuk memahami apa yang terjadi? Mohon bimbingannya. Terima kasih.
Edit
Saya memiliki kode berikut di Global.asax
. Application_BeginRequest
Metode kosong di file yang sama.
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
System.Environment.GetEnvironmentVariable("PATH"));
System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
MyAppLog.Initialize();
MyAppLog.WriteMessage("Application Started");
}
Memperbarui
Sesuai saran dalam Komentar, saya dapat menjalankan situs web dari Cassini.
Enable 32 bit Application
tetapi apakah Anda menggunakan DLL 32-bit saja?Any CPU
. Jadi saya pikir dll yang digunakan seharusnya tidak menjadi masalah. Silakan lihat hasil edit untuk kode Global.asax. Terima kasihJawaban:
Salah satu alasan yang mungkin terjadi adalah bahwa Application Pool di IIS dikonfigurasi untuk berjalan di bawah beberapa akun khusus dan akun ini tidak ada atau kata sandi yang salah telah disediakan, atau kata sandi telah diubah. Lihatlah properti lanjutan dari Application Pool di IIS yang akunnya digunakan.
Juga Log Kejadian mungkin berisi lebih banyak informasi tentang mengapa Application Pool dihentikan segera atas permintaan pertama.
sumber
Oke, saya punya solusi lain untuk satu kasus spesifik: jika Anda menggunakan WINDOWS 10, dan Anda memperbaruinya baru-baru ini (dengan paket Anniversary Update) Anda perlu mengikuti langkah-langkah di bawah ini:
Windows Event Viewer
- tekan Win + R dan ketikeventvwr
:, lalu tekan ENTER.Windows Event Viewer
klik padaWindows Logs
->Application
.IIS-W3SVC-WP
di jendela tengah.Control Panel
->Program and Features
dan tergantung pada dll yang tidak dapat dimuat, Anda perlu memperbaiki modul lain:rewrite.dll
- temukan IIS URL, tulis kembali Modul 2 dan klikChange
->Repair
aspnetcore.dll
- temukan Microsoft .NET Core 1.0.0 - VS 2015 Tooling ... dan klikChange
->Repair
.sumber
The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.
Jadi saya menginstal Select Server Side Termasuk per saran iniUntuk situasi saya adalah kata sandi login saya berubah, sedangkan kumpulan aplikasi masih menggunakan yang lama. Jadi cukup klik "Pengaturan Lanjut" dari kumpulan aplikasi Anda dan setel ulang "Identitas" Anda.
sumber
Saya menghadapi masalah yang sama, dan men-debug-nya menggunakan log peristiwa. Pertama dikatakan bahwa: "Deskripsi untuk Event ID 5059 dari sumber Microsoft-Windows-WAS tidak dapat ditemukan".
Saya kemudian menyalakan WS menggunakan fitur turn windows on / off . Kemudian saya melihat ini di eventvwr "Microsoft-Windows-DistributedCOM tidak dapat ditemukan".
Akhirnya saya menyerah dan menghapus App Pool (yang digunakan untuk berhenti mengakses situs web) dan membuatnya lagi, apa adanya. Ini menyelesaikan masalah.
sumber
appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
Bagi siapa pun yang datang ke sini dengan Windows 10 dan setelah memperbarui mereka ke pembaruan Anniversary, silakan periksa tautan ini, itu membantu saya:
https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update
Dalam kasus tautan turun: Jika log Acara Anda menunjukkan bahwa aspnetcore.dll, rewrite.dll (paling sering, tetapi bisa juga orang lain) gagal dimuat, Anda harus memperbaiki item yang hilang.
Berikut adalah dua masalah khusus yang kami alami sejauh ini dan bagaimana cara memperbaikinya, tetapi Anda dapat menabrak yang sangat berbeda:
sumber
Sebagian besar waktu, itu terjadi karena Pengaturan AppPool.
Periksa hal berikut untuk menyelesaikan ini
Gambar berikut menunjukkan pengaturan ini di IIS
sumber
Jika Anda memiliki McAfee HIPS dan jika Anda melihat kesalahan berikut dalam log aplikasi penampil acara:
Kemudian hal berikut ini menyelesaikan masalah dalam kasus saya: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
Kutipan dari halaman:
sumber
Dalam kasus saya, saya memeriksa log peristiwa dan menemukan kesalahan adalah Tidak dapat membaca file konfigurasi 'mencoba membaca data konfigurasi dari file' \\? \ ', Nomor baris' 0 '. Bidang data berisi kode kesalahan.
Kode kesalahan adalah 2307.
Saya menghapus semua file di C: \ inetpub \ temp \ appPools dan memulai kembali iis. Itu memperbaiki masalah.
sumber
Saya punya masalah serupa. Saya menyelesaikannya dengan menambahkan pengguna saya ke kebijakan "Masuk sebagai pekerjaan sampingan" di bawah "Kebijakan Keamanan Lokal"> "Kebijakan Lokal"> "Penugasan Hak Pengguna".
sumber
Ketika saya pertama kali menambahkan layanan dan membuat kumpulan aplikasi untuk itu. Saya melakukan "iisreset" dari command prompt, dan itu berhasil.
sumber
Jika Anda dapat menjalankan situs web di Visual Studio debugger, maka mungkin dapat melihat di mana dalam kode Anda kumpulan aplikasi mogok. Dalam kasus saya, itu adalah fungsi yang dipanggil secara berulang dalam jumlah tidak terbatas, dan itu menyebabkan stack overflow. Catatan: log peristiwa Windows dan log IIS tidak membantu untuk mendiagnosis masalah.
sumber
Saya memiliki masalah yang sama dengan iis 8.5. Setelah mencari eventViewer di bawah jendela Log -> aplikasi, saya menyadari bahwa saya mengalami kesalahan izin untuk file machine.config dari kerangka kerja .net yang terletak di "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config ". Memberinya izin untuk IIS_IUSRS menyelesaikan masalah saya (klik kanan file -> properties -> security -> edit -> add -> IIS_IUSRS)
sumber
Saya mengalami kesalahan ini dan dalam kasus saya penyebabnya adalah beberapa waktu yang lalu saya memodifikasi kata sandi pengguna, dan kesalahan 503 tidak muncul sampai saya memulai kembali kumpulan aplikasi.
Jadi saya memperbaikinya mengatur kata sandi baru pada Aplikasi Pools / Pengaturan Lanjut / Identitas / [...] / Set ... / Kata Sandi / Konfirmasi Kata Sandi
sumber
Saya memiliki masalah serupa, semua kumpulan aplikasi saya berhenti setiap kali permintaan web diajukan kepada mereka. Meskipun saya mendapatkan kesalahan berikut di Peraga Peristiwa:
Yang memberi tahu saya bahwa ada kesalahan dalam application.config di:
Dalam skenario saya, saya mengedit web.config pada penyebaran dengan elemen IIS jelas tidak suka, applicationHost.config memo web.config dan memasukkan elemen buruk ini dan tidak akan menyelesaikan sampai saya menghapusnya secara manual
sumber
Selain langkah-langkah yang diuraikan di tautan ini dari jawaban Orhan , Anda mungkin perlu menghapus modul asli dengan masuk ke IIS Manager> Server Root> Modules> Configure Native Modules. Pilih MfeEngine dan kemudian pilih Hapus.
sumber
Mengubah "Mode Pipa Terkelola" dari "Klasik" ke "Terintegrasi" bekerja untuk saya. Itu dapat diubah di Application Pools -> Basic Settings
sumber
Hanya untuk menambah ini
Anniversary Update
masalah (terima kasih Microsoft) jika file Anda hilang adalahcgi.dll
, yaitu AndaEvent Viewer
memilikiKemudian untuk memperbaikinya:
IIS Manager
Connections
panel (biasanya nama PC Anda)Management
, Anda seharusnya memilikinyaWeb Platform Installer
Products
cgi
kemudian tekan<Enter>
IIS: CGI
lalu klikAdd
di kanan dan akhirnyaInstall
di bawahsumber