Tôi có 2 trang ASP.IIS không gửi hai câu trả lời cho cùng một khách hàng cùng một lúc (chỉ dành cho ASP)
Tôi yêu cầu trang đầu tiên từ Firefox (mất 30 giây để xử lý trên máy chủ) và trong quá trình thực hiện 30 giây, tôi thực hiện một yêu cầu khác từ Firefox đến trang thứ hai (mất ít hơn 1 giây ở phía máy chủ), nhưng nó đến sau 31 giây. Bởi vì nó chờ đợi các yêu cầu đầu tiên để hoàn thành.
Khi tôi yêu cầu trang đầu tiên từ Firefox và sau đó yêu cầu trang thứ hai từ IE, nó chỉ là ngay lập tức.
Vì vậy, về cơ bản ASP - IIS 6 bằng cách nào đó hạn chế mỗi khách hàng yêu cầu một (yêu cầu xử lý dài) tại một thời điểm. Tôi cần phải giải quyết vấn đề này trong ứng dụng .NET client của tôi.
Điều này được thử nghiệm trong 3 hệ thống khác nhau. Nếu bạn muốn kiểm tra, bạn có thể thử các kịch bản ASP ở cuối.
Hành vi này giống nhau trong quá trình thực thi SQL dài hoặc chỉ trong thời gian hoạt động ASP.
Lưu ý:
- Nó không phải về HTTP Keep Alive
- Đó là giới hạn kết nối không khoảng dai dẳng (chúng tôi đã cố gắng để tăng này trong firefox và trong .NET với Net.ServicePointManager.DefaultConnectionLimit)
- Nó không phải về tác nhân người dùng
- Điều này không xảy ra trong ASP.NET vì vậy tôi cho rằng đó là điều gì đó với ASP.dll
- Tôi đang cố gắng ng để giải quyết điều này trên máy khách chứ không phải máy chủ. Tôi không có quyền kiểm soát trực tiếp máy chủ, đó là giải pháp của bên thứ 3.
Có cách nào để giải quyết vấn đề này không?
mẫu ASP Code:
Đầu tiên ASP:
<%
Set cnn = Server.CreateObject("Adodb.Connection")
cnn.Open "Provider=sqloledb;Data Source=.;Initial Catalog=master;User Id=sa;Password=;"
cnn.Execute("WAITFOR DELAY '0:0:30'")
cnn.Close
%>
Second ASP:
<%
Response.Write "bla bla"
%>
Tôi đã bỏ lỡ phiên làm việc như thế nào! Vâng phát hiện, cảm ơn rất nhiều. –
Bạn cũng có thể vô hiệu hóa phiên trên mỗi trang với biến trang này: <% @ EnableSessionState = False%> Thông tin phiên được tạo trên các trang khác vẫn tồn tại chỉ với công cụ ASP bằng cách bỏ qua phần mà nó làm cho trang này khả dụng chỉ có. –