Tengo un par de consultas para un sitio web que tardan mucho tiempo en ejecutarse debido al modelo de datos y la cantidad de datos contenidos en las tablas. Hasta ahora los he estado ejecutando manualmente contra la base de datos para evitar problemas de tiempo de espera, etc. Sin embargo, el propietario del sitio ha solicitado que estén disponibles en el sitio para que pueda obtener los resultados de la consulta.¿La mejor manera de ejecutar una consulta DB larga en ASP clásico?
Pensé en hacer esto a través de un servicio web .NET y al tener la clásica página ASP llamar a esto de forma asíncrona. La página web simplemente iniciará el proceso y antes de redirigir al usuario a otra pantalla. El servicio web ejecutaría la consulta y enviaría los resultados por correo electrónico al usuario en un archivo CSV.
Sin embargo, parece que no puedo hacer que esto funcione. El servicio funciona bien si lo invoco a través de la pantalla en IE pero llamarlo a través de una llamada AJAX en ASP parece ser un problema, no se genera ningún error, pero tampoco se crea el archivo CSV.
He incluido el código ASP clásico a continuación. El servicio solo tiene un método con un parámetro del nombre de correo electrónico que es del tipo cadena. ¿Alguien puede ver algo mal con eso? Además, ¿esta es la mejor manera de estar haciendo esto o debería pensar en otro enfoque?
Gracias de antemano,
Phil
CÓDIGO
<%
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"
%>