IIS her client e ayrı thread mi açar?

Başlatan mir_as82, 04 Nisan 2018, 10:55:40

mir_as82

iis ile asp.net arasındaki akışı öğrenmek istiyorum.
A kullanıcısı(browser)ilk request i yapsın bir web servera ve bir uygulamaya.

Daha sonra B kullanıcısı(browser)a request yapsın.
Burada application pool bir tane olduğundan bir tane working proses olur.
Her request işleminde ayrı thread mi açar bu iis working proses?
1000 tane aynı anda request varsa memory de 1000 tane ayrı nesne(sayfa vb.) mi işgal eder?

OptimusPrime

Eger bir server socketi coklu baglanti kabul ediyorsa her yeni baglanti icin yeniden socket olusturmasi gerekiyor. Yani her yeni socket baglantisi yeni bir thread anlamina geliyor. Networking layer hangi socket kiminle konusuyor hangi paketi kime yonlendirmeliyim gibi isleri zaten arka planda hallediyor.
https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||

mufitsozen

#2
Alıntı yapılan: mir_as82 - 04 Nisan 2018, 10:55:40iis ile asp.net arasındaki akışı öğrenmek istiyorum.
A kullanıcısı(browser)ilk request i yapsın bir web servera ve bir uygulamaya.

Daha sonra B kullanıcısı(browser)a request yapsın.
Burada application pool bir tane olduğundan bir tane working proses olur.
Her request işleminde ayrı thread mi açar bu iis working proses?
1000 tane aynı anda request varsa memory de 1000 tane ayrı nesne(sayfa vb.) mi işgal eder?

tanim olarak http ile ilgili mesajlar stateless (non-persistentent)dir.
Yanliz burada dikkat etmeniz gereken nokta TCP stateful'dur ama onu kullanan HTTP stateless'dir (bunun anlamini kavramak icin OSI Modeli layiki ile anlamis olmak lazim.

dolayisi ile bir web serverdaki uygulamayi stateful yapmak uygulamanin gorevidir. Bunun icin cesitli teknikler kullanilir: cookie'ler, URL degistirme/duzenleme, HTML formunda gizli(gorunmeyen) alanlar kullanma vs, bu sekilde kullanici server arasinda bilgi tasima vb.

Genellikle web application icin kullandiginiz framework bu islemleri sizin yerinize hallederek kolaylik saglar.

ASP.NET de bu sekilde yapilandirilmistir.

Ilk olarak ASP.NET icindeki Application object ve Session object kavramlarini anlayarak baslarsaniz diger sorulariniza daha rahat cevap bulursunuz.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

mir_as82

Alıntı yapılan: mufitsozen - 04 Nisan 2018, 17:47:45tanim olarak http ile ilgili mesajlar stateless (non-persistentent)dir.
Yanliz burada dikkat etmeniz gereken nokta TCP stateful'dur ama onu kullanan HTTP stateless'dir (bunun anlamini kavramak icin OSI Modeli layiki ile anlamis olmak lazim.

dolayisi ile bir web serverdaki uygulamayi stateful yapmak uygulamanin gorevidir. Bunun icin cesitli teknikler kullanilir: cookie'ler, URL degistirme/duzenleme, HTML formunda gizli(gorunmeyen) alanlar kullanma vs, bu sekilde kullanici server arasinda bilgi tasima vb.

Genellikle web application icin kullandiginiz framework bu islemleri sizin yerinize hallederek kolaylik saglar.

ASP.NET de bu sekilde yapilandirilmistir.

Ilk olarak ASP.NET icindeki Application object ve Session object kavramlarini anlayarak baslarsaniz diger sorulariniza daha rahat cevap bulursunuz.

Abi dediğiniz gibi neden stateless olan http, stateful olan TCP kullanıyor?