2012-01-27 8 views
6

Tôi đang cố gắng tìm hiểu lý do tại sao ASP.NET Development Server không xử lý yêu cầu đồng thời.ASP.NET Development Server đồng thời xử lý không hoạt động

Vì vậy, tôi đã tạo ra một trang aspx đơn giản với đoạn mã sau:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

System.Threading.Thread.Sleep(10000) 

End Sub 

Nếu tôi mở trang hai lần, phản ứng mất 20 giây. Điều đó có nghĩa, máy chủ thực thi các yêu cầu một (không đồng thời).

Lời khuyên sau được cung cấp trong this topic, tôi đã thêm EnableSessionState="false" vào trang nhưng điều đó dường như không giúp ích gì.

Bất kỳ ý tưởng nào về cách yêu cầu xử lý đồng thời?

Trả lời

7

Máy chủ dev.net dev (cassini) không thể xử lý nhiều chuỗi. Vì vậy, nó có hiệu quả xử lý yêu cầu một tại một thời điểm. Tắt phiên thực sự sẽ không ảnh hưởng đến điều này.

Nó thực sự chỉ dành cho thử nghiệm người dùng đơn giới hạn của một ứng dụng web.

Tôi khuyên bạn nên đổ cassini và cài đặt IIS Express hoặc chỉ cần thực hiện IIS đầy đủ.

Một đọc nhỏ: ASP.NET Dev Server (Cassini), IIS Express and multiple threads

0

IIS trên XP không cho phép điều đó nhiều kết nối đồng thời (Tôi nghĩ đó là 10). Nếu bạn đang phát triển trong môi trường đó, đó có thể là lý do tại sao bạn gặp phải điều đó (ngoài 2 yêu cầu đó, bạn có yêu cầu cho các tệp tham chiếu đang diễn ra, cộng với bạn có thể đưa ra nhiều yêu cầu hơn bạn nghĩ là bạn đang sử dụng trang cụ thể đó) .

Tôi không chắc liệu máy chủ tích hợp VS có những hạn chế tương tự hay không.

+0

Tôi không hiểu lý do tại sao câu trả lời này được xem để không có chủ đề để làm cho ai đó downvote nó. Tôi nghĩ rằng nó có liên quan, và mặc dù nó không thực sự trả lời câu hỏi (mơ hồ như nó là), nó không nên bị trừng phạt. Nếu có bất cứ điều gì, tôi sẽ nhận được "cảm ơn, dù sao". Vâng, cảm ơn, dù sao, cho bất cứ ai đã làm nó. –

+0

Tôi đồng ý ... phản đối;) – NotMe

+0

có bạn cung cấp một góc nhìn đẹp mà không nên bị trừng phạt nhưng được khen thưởng ... –

0

Nếu bạn đang sử dụng ASP.NET MVC mà không tắt SessionState (theo mặc định bạn sẽ có), yêu cầu của bạn sẽ được tự động tuần tự hóa - vì vậy nếu bạn đang kiểm tra điều kiện chủng tộc với giá trị Thread.Sleep() ngẫu nhiên thì Yêu cầu B sẽ không bao giờ hoàn thành trước Yêu cầu A ngay cả khi thời gian ngủ ít hơn.

ASP.NET MVC and Ajax, concurrent requests?