Mam kilka zapytań do strony internetowej, które trwają długo, aby uruchomić ze względu na model danych i ilość danych przechowywanych w tabelach. Do tej pory stosowałem je ręcznie w bazie danych, aby uniknąć problemów z przekroczeniem limitu czasu itp. Właściciel witryny poprosił o udostępnienie ich w witrynie, aby mógł uzyskać wyniki zapytania.Najlepszy sposób na wykonywanie długich zapytań DB w klasycznej ASP?
Myślałem o zrobieniu tego za pośrednictwem usługi internetowej .NET i o tym, że klasyczna strona ASP nazywa to tak asynchronicznie. Strona internetowa zainicjowałaby proces i zanim przekieruje użytkownika na inny ekran. Usługa internetowa uruchomi następnie zapytanie i wyśle użytkownikowi e-mailem wyniki w pliku CSV.
Jednak nie wydaje mi się, żeby to działało. Usługa działa poprawnie, jeśli wywołam ją na ekranie w IE, ale wywołanie jej przez wywołanie Ajax w ASP wydaje się być problemem - nie generuje się błędu, ale nie jest też tworzony plik CSV.
Załączam klasyczny kod ASP poniżej. Usługa ma tylko jedną metodę z parametrem nazwy e-mail, która jest typu ciąg. Czy ktoś może zobaczyć cokolwiek z nim nie tak? Czy jest to najlepszy sposób na zrobienie tego, czy też powinienem myśleć o innym podejściu?
Dzięki z góry,
Phil
KOD
<%
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"
%>