Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 7562|Jawab: 2

[Inti .NET] ASP.NET Core menghosting model Dalam Proses dan Di Luar Proses di IIS

[Salin tautan]
Dipaparkan pada 2022-5-14 13:18:08 | | | |
Karena .NET Core lintas platform, proyek ASP.NET Core dapat berjalan di Windows dan Linux, dan jika disebarkan di Windows, mereka dapat disebarkan di IIS atau berjalan langsung melalui baris perintah, terlepas dari layanan IIS, karena penyertaan kontainer Kestrel di ASP.NET Core.

Untuk informasi selengkapnya tentang cara menyebarkan aplikasi Inti ASP.NET ke layanan IIS, Anda dapat merujuk ke yang berikut ini:

Menyebarkan ASP.NET Core ke server IIS
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core disebarkan di IISDalam prosesdanDi luar prosesDua model hosting

Sumber daya:

Login hyperlink terlihat.
Login hyperlink terlihat.


Model Dalam Proses

Sejak ASP.NET Core 3.0,Hosting Dalam Proses diaktifkan secara default untuk semua aplikasi yang disebarkan ke IIS, file web.config terlihat seperti ini:

Dapat dilihathostingModel="dalam proses", model dalam prosesKestrel tidak digunakan, tetapi sebaliknya menggunakan IISHttpServer() untuk mengimplementasikan server web baru yang dihosting langsung di dalam kumpulan aplikasi IIS, yang agak mirip dengan bagaimana ASP.NET tradisional diperkenalkan ke dalam IIS.

Diagram berikut menggambarkan hubungan antara IIS, modul ASP.NET Inti, dan aplikasi yang dihosting dalam proses:



Mencoba mengakses situs web, Anda dapat melihat server melalui header respons, seperti yang ditunjukkan pada gambar di bawah ini:



Melihat proses melalui task manager, hanya ada 2 proses, seperti yang ditunjukkan pada gambar di bawah ini:



Model di luar proses

IIS model ini bertindak sebagai proksi terbalik, dan ketika menerima permintaan, ia perlu meneruskannya ke layanan Kestrel, yang merupakan server web lintas platform yang disematkan dalam aplikasi ASP.NET Core.

Diagram berikut menggambarkan hubungan antara IIS, modul Inti ASP.NET, dan aplikasi yang dihosting di luar proses:



Kami memodifikasi file web.config sebagai berikut:

Ketika kita mengakses situs web melalui browser, kita dapat melihat bahwa nilai server header respons telah menjadi Kestrel, seperti yang ditunjukkan pada gambar di bawah ini:



Melihat task manager pada saat yang sama, saya menemukan bahwa ada 3 proses, seperti yang ditunjukkan pada gambar di bawah ini:



ringkasan

Dalam model terkelola InProcess, permintaan dan respons diberikan melalui w3wp.exe atau IISExpress, sedangkan dalam proses pekerja OutOfProcess yang terlibat, ini dotnet.exe
Dalam model terkelola InProcess, satu server web digunakan, sedangkan dalam model terkelola OutOfProcess, dua server web dapat digunakan.

Alasan yang jelas untuk menggunakan model In-Process baru adalah karena model ini lebih cepat dan menggunakan lebih sedikit sumber daya,Model terkelola InProcess memberikan performa yang lebih baikKarena berjalan langsung dalam proses kumpulan aplikasi IIS. Tidak ada lalu lintas HTTP internal dan overhead, dan permintaan segera diproses.





Mantan:Nginx menambahkan protokol HTTP/2 yang diaktifkan
Depan:Menggunakan HttpClient secara tidak benar dapat merusak perangkat lunak Anda
 Tuan tanah| Dipaparkan pada 2022-5-14 13:20:23 |
ASP.NET Kinerja masuk dan keluar dari proses Inti:http://blog.iis7.com/article/5958.html
ASP.NET Uji kinerja Core 5 di bawah IIS, Nginx, Caddy:https://cloud.tencent.com/developer/article/1788073
Dipaparkan pada 2022-5-14 15:07:14 |
Belajar belajar
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com