Tôi có một vài truy vấn cho một trang web mất nhiều thời gian để chạy do mô hình dữ liệu và lượng dữ liệu được lưu trữ trong các bảng. Cho đến nay tôi đã chạy chúng theo cách thủ công đối với cơ sở dữ liệu để tránh bất kỳ vấn đề thời gian chờ vv .. tuy nhiên chủ sở hữu trang web đã yêu cầu cho chúng được làm sẵn có trên trang web để anh ta có thể nhận được kết quả truy vấn.Cách tốt nhất để chạy truy vấn DB dài trong ASP cổ điển?
Tôi đã nghĩ đến việc này thông qua dịch vụ web .NET và có trang ASP cổ điển gọi điều này không đồng bộ. Trang web sẽ chỉ bắt đầu quá trình và trước khi chuyển hướng người dùng đến màn hình khác. Sau đó, dịch vụ web sẽ chạy truy vấn và gửi cho người dùng kết quả bằng CSV.
Tuy nhiên, dường như tôi không thể làm việc này. Các dịch vụ chạy ok nếu tôi gọi nó thông qua màn hình trong IE nhưng gọi nó thông qua một cuộc gọi Ajax trong ASP có vẻ là một vấn đề - không có lỗi được tạo ra nhưng không phải là tập tin CSV tạo ra.
Tôi đã đính kèm mã ASP cổ điển bên dưới. Dịch vụ chỉ có một phương thức với tham số của email tên là chuỗi kiểu. Bất cứ ai có thể nhìn thấy bất cứ điều gì sai trái với nó? Ngoài ra, đây là cách tốt nhất để làm điều này hoặc tôi nên nghĩ đến cách tiếp cận khác?
Cảm ơn trước,
Phil
MÃ
<%
message = "http://wwww.example.com/service/query.asmx/GetResults?email=test"
set req = server.createobject("MSXML2.XMLHTTP")
With req
.open "GET", message, False
.setRequestHeader "Content-Type", "text/xml"
.send
End With
works = req.responseText
response.redirect "http://www.bbc.co.uk"
%>