ASP.NET adalah platform yang sangat kuat untuk membangun aplikasi Web. ASP.NET memberikan fleksibilitas dan kemampuan yang besar sehingga Anda dapat menggunakannya untuk membangun semua jenis aplikasi Web.
Kebanyakan orang hanya mengenal kerangka kerja tingkat tinggi seperti WebForms dan WebServices -- kerangka ini berada di puncak hierarki ASP.NET.
Informasi dalam artikel ini dikumpulkan dan disusun dari berbagai dokumen publik Microsoft. Dengan membandingkan proses pemrosesan permintaan dari tiga generasi IIS, IIS5, IIS6, dan IIS7, kita dapat memahami mekanisme yang mendasari ASP.NET dan memahami caranya. permintaan diproses dari Web. Server berkomunikasi dengan runtime ASP.NET. Dengan memahami mekanisme yang mendasarinya, kita dapat memahami ASP.net lebih dalam.
Proses pemrosesan permintaan ASP.net di IIS 5Fitur penting dari IIS 5.x adalah pemisahan Server Web dan Aplikasi ASP.NET sebenarnya. Sebagai Server Web, IIS berjalan pada proses yang disebut InetInfo.exe. InetInfo.exe adalah Eksekutif Asli dan bukan program yang dikelola. Aplikasi ASP.NET kami yang sebenarnya berjalan pada Proses Pekerja yang disebut aspnet_wp prosesnya diinisialisasi, jadi ini adalah lingkungan terkelola.
ISAPI: mengacu pada aplikasi yang dapat menangani berbagai sufiks. ISAPI adalah singkatan dari kata berikut: Antarmuka Program Aplikasi Server Internet, Antarmuka Pemrograman Aplikasi Server Internet.
Fitur mode IIS 5:1. Pertama, hanya satu proses aspnet_wp yang dapat dijalankan pada host yang sama pada waktu yang sama. Setiap Aplikasi ASP.NET berdasarkan direktori virtual berhubungan dengan Domain Aplikasi, yang berarti bahwa setiap Aplikasi berjalan di sama Dalam Proses Pekerja, isolasi antar Aplikasi didasarkan pada Domain Aplikasi, bukan Proses.
2. Kedua, ASP.NET ISAPI tidak hanya bertanggung jawab untuk membuat Proses Pekerja aspnet_wp, tetapi juga untuk memantau proses tersebut. Jika terdeteksi bahwa Kinerja aspnet_wp turun ke batas bawah tertentu, ASP.NET ISAPI akan bertanggung jawab. untuk mengakhiri proses. Ketika aspnet_wp berakhir, Permintaan berikutnya akan menyebabkan ASP.NET ISAPI membuat ulang Proses Pekerja aspnet_wp baru.
3. Terakhir, karena IIS dan Aplikasi berjalan dalam prosesnya masing-masing, komunikasi antar keduanya harus menggunakan mekanisme komunikasi tertentu. Pada dasarnya, komunikasi antara proses InetInfo tempat IIS berada dan Proses Pekerja adalah komunikasi antara proses yang berbeda pada mesin yang sama (komunikasi antarproses lokal). Untuk pertimbangan kinerja, mekanisme komunikasi berdasarkan pipa Bernama digunakan di antara mereka. Komunikasi antara ASP.NET ISAPI dan Proses Pekerja diimplementasikan melalui sekumpulan Pipa di antara keduanya. Juga karena alasan Kinerja, ASP.NET ISAPI mengirimkan Permintaan ke Proses Pekerja secara asinkron dan memperoleh Respons, namun Proses Pekerja memperoleh beberapa variabel berbasis Server dari ASP.NET ISAPI secara sinkron.
Proses pemrosesan permintaan ASP.net IIS6IIS 5.x memonitor Permintaan melalui InetInfo.exe dan mendistribusikan Proses Permintaan ke Kerja. Dengan kata lain, pemantauan dan distribusi Permintaan di IIS 5. : http.sys bertanggung jawab.
Catatan: Untuk mencegah aplikasi pengguna mengakses atau mengubah data sistem operasi penting, Windows menyediakan dua mode akses prosesor: Mode Pengguna dan Mode Kernel. Umumnya, program pengguna berjalan dalam mode Pengguna, sedangkan kode sistem operasi berjalan dalam Mode Kernel. Kode Mode Kernel memungkinkan akses ke semua memori sistem dan semua instruksi CPU.
Dalam Mode Pengguna, http.sys menerima permintaan http berbasis aspx, dan kemudian akan memeriksa Kumpulan Aplikasi mana yang menjadi milik Aplikasi berdasarkan Permintaan sesuai dengan Metabase di IIS. Jika Kumpulan Aplikasi tidak ada, buatlah. Jika tidak, permintaan akan dikirim langsung ke Antrean yang sesuai dengan Kumpulan Aplikasi.
Setiap Kumpulan Aplikasi berhubungan dengan Proses Pekerja: w3wp.exe, yang tidak diragukan lagi berjalan dalam Mode Pengguna. Pemetaan Kumpulan Aplikasi dan proses pekerja dipertahankan di IIS Metabase. Berdasarkan pemetaan tersebut, WS (Layanan Administratif Web) meneruskan permintaan yang ada di Antrean Kumpulan Aplikasi ke proses pekerja terkait (jika tidak, buat proses seperti itu). Ketika proses pekerja diinisialisasi, ASP.NET ISAPI dimuat, dan ASP.NET ISAPI kemudian memuat CLR. Proses terakhirnya sama dengan IIS 5.x: Buat Domain Aplikasi untuk Aplikasi melalui metode Buat AppManagerAppDomainFactory; proses Permintaan melalui ProcessRequest ISAPIRuntime, lalu masukkan proses ke dalam ASP.NET Http Runtime Pipeline.
Proses pemrosesan permintaan ASP.net IIS 7