2011-11-10 31 views
9

Bir kullanıcı HTTP aracılığıyla bir .aspx sayfası istediğinde, ASP.NET'in bunun için en az 1 iş parçacığı oluşturduğunu varsaymak güvenli midir?Bir ASP.NET HTTP İsteği Yapılıyor?

Eğer öyleyse, ne kadar sürer?

1000 kişi aynı isteği .aspx sayfasına HTTP isteği yaparsa, ilgili iş parçacıklarının geri dönüşümü var mı, bu yüzden farklı 1000 iş parçacığı üretmez mi?

+1

Microsoft tarafından size söz verilmeyen bir şey varsaymak aslında güvenli değildir. –

+3

Anladığım kadarıyla, her bir konu kendi iş parçacığınızı başlatmadığınız sürece tek bir iş parçacığı tarafından sunulur. Sunucu, binlerce iş parçacığı arasında bağlam anahtarları ile boğulmuş değil, genellikle iş parçacığı havuzu olarak adlandırılan sınırlı bir miktarda iş parçacığı vardır. İstek sayısı iş parçacığı havuzundaki iş parçacıklarının sayısından fazlaysa, bir iş parçacığı serbest bırakılana kadar diğer istekler sıraya alınır. İş parçacığı, istek sürdüğü sürece "devam eder" veya daha fazla istekte bulunur. Bazen çok uzun sürebilir istekleri için bir zaman aşımı kümesi vardır. –

cevap

10

Her istek iis sayfa havuzundan bir konuya ayrılır. Buradaki fikir, bunun kısa bir çalışma süreci olması ve böylece iş parçacığının başka bir isteğin kullanılması için sayfa havuzuna geri gönderilebilmesidir (sayfa havuzu boyutları genellikle 50 gibi büyük değildir). Dolayısıyla, uzun süren bir isteğiniz varsa, başka bir istek için iş parçacığını serbest bırakmak için bir zaman uyumsuz çağrı yaptığınız önemlidir. Daha sonra, uzun süren istekleriniz tamamlandığında, havuzdan başka bir iş parçacığı alacak ve bitireceksiniz.

Alt satır, 1000 kişi aynı anda istekte bulunur ve bunların hiçbiri bitmezse, 50 veya daha fazlası çalışır ve diğer 950 bekler.

+1

Daha fazla ayrıntı için http://support.microsoft.com/kb/821268 adresini ziyaret edebilirsiniz. Microsoft, kullandığınız terimler yerine çalışan iş parçacığı havuzu/çalışan iş parçacıklarını kullanır. –

+0

Teşekkürler çocuklar. Ama sayfa havuzu boyutu, dediğiniz gibi, yaklaşık 50'ye nerede ayarlanır? IIS'nin AppPool özelliklerinde göremiyorum. – SaltProgrammer