Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 7562|Yanıt: 2

[.NET Core] ASP.NET Core, IIS'de Süreç İçi ve Süreç Dışı modelleri barındırır

[Bağlantıyı kopyala]
2022-5-14 13:18:08 tarihinde yayınlandı | | | |
.NET Core çapraz platform olduğundan, ASP.NET Core projeleri hem Windows hem de Linux'ta çalışabilir ve Windows'ta dağıtıldıysa, IIS'te veya doğrudan komut satırı üzerinden çalıştırılabilir; IIS hizmetlerinden bağımsız olarak, ASP.NET Core'da Kestrel konteynerlerinin yer alması nedeniyle.

IIS servislerine ASP.NET Core uygulamalarının nasıl dağıtılacağı hakkında daha fazla bilgi için aşağıdaki adrese başvurabilirsiniz:

ASP.NET Core'u IIS sunucusuna dağıt
https://www.itsvse.com/thread-7838-1-1.html
ASP.NET Core, IIS'de konuşlandırılıyorSüreçteveSüreç Dışıİki barındırma modeli

Kaynaklar:

Bağlantı girişi görünür.
Bağlantı girişi görünür.


Süreç Içi Model

ASP.NET Core 3.0'dan beri,IIS'e dağıtılan tüm uygulamalar için varsayılan olarak süreç içi barındırma etkinleştirilmiş, web.config dosyası şöyle görünüyor:

görülebilirhostingModel="inprocess", süreç içi bir modelKestrel kullanılmaz, ancak bunun yerine IISHttpServer() kullanarak doğrudan IIS uygulama havuzunda barındırılan yeni bir web sunucusu uygular; bu, geleneksel ASP.NET'in IIS'e getirilmesine biraz benziyor.

Aşağıdaki diyagram, IIS, ASP.NET Core modülleri ile süreç içi barındırılan uygulamalar arasındaki ilişkiyi göstermektedir:



Web sitesine erişmeye çalışırken, aşağıdaki görselde gösterildiği gibi yanıt başlığı üzerinden sunucuyu görebilirsiniz:



Görev yöneticisi üzerinden süreçlere bakıldığında, aşağıdaki şekilde gösterildiği gibi sadece 2 işlem vardır:



Süreç dışı model

Bu model IIS, ters proxy olarak görev yapar ve bir talep aldığında, bunu ASP.NET Core uygulamalarına gömülü çapraz platform web sunucusu olan Kestrel hizmetine iletmelidir.

Aşağıdaki diyagram, IIS, ASP.NET Core modülleri ile süreç dışı barındırılan uygulamalar arasındaki ilişkiyi göstermektedir:



Web.config dosyasını aşağıdaki şekilde değiştiriyoruz:

Web sitesine bir tarayıcı üzerinden eriştiğimizde, yanıt başlığının sunucu değerinin Kestrel olduğunu görebiliriz; aşağıdaki şekilde gösterilmiştir:



Aynı anda görev yöneticisine baktığımda, aşağıdaki şekilde gösterildiği gibi 3 süreç olduğunu gördüm:



özet

InProcess yönetilen modelde istekler ve yanıtlar w3wp.exe veya IISExpress aracılığıyla sağlanırken, OutOfProcess çalışan sürecinde ise dotnet.exe
InProcess yönetilen modelde tek bir web sunucusu kullanılırken, OutOfProcess yönetilen modelde iki web sunucusu kullanılabilir.

Yeni Süreç Içi modeli kullanmanın bariz nedeni, daha hızlı olması ve daha az kaynak kullanmasıdır.InProcess yönetilen model daha iyi performans sağlarÇünkü doğrudan IIS uygulama havuzunun sürecinde çalışır. İç HTTP trafiği ve ek yük yoktur, talepler hemen işlenir.





Önceki:Nginx, HTTP/2 protokolünü etkinleştiriyor ekliyor
Önümüzdeki:HttpClient'ı yanlış kullanmak yazılımınızı bozabilir
 Ev sahibi| 2022-5-14 tarihinde 13:20:23 tarihinde yayınlandı |
ASP.NET Core süreci içinde ve dışındaki performans:http://blog.iis7.com/article/5958.html
ASP.NET IIS, Nginx, Caddy altında Core 5 performans testi:https://cloud.tencent.com/developer/article/1788073
2022-5-14 tarihinde 15:07:14 tarihinde yayınlandı |
Öğrenmeyi öğren
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com