我目前有一个ASP Classic脚本,每15分钟运行一次(通过计划任务)。该任务负责打开Internet Explorer并加载创建报告ASP页面。一旦页面加载完毕,我在页面底部有Javascript负责关闭IE窗口。我们经常会遇到脚本因任何原因而挂起但未到达目的的问题。因此,我们最终会在一天结束时使用多个IE实例。然而,以这种方式生成报告似乎非常笨重和不自然。我正在使用IIS并切换到.NET。
有人会有其他选择吗?
谢谢。
答案 0 :(得分:3)
为什么不用vbscript中的普通XmlHttpRequest脚本调用ASP页面,而不是运行Internet Explorer?
Set http = CreateObject("Microsoft.XmlHttp")
http.open "GET", "http://yourserver/yourReportPage.asp", FALSE
http.send ""
Dim content
content = http.ResponseText
set http = nothing
使用此而不是调用IE。
现在,可能有更好的方法来生成报告,但至少可以通过这种方式摆脱可怕的IE自动化。
答案 1 :(得分:2)
我们为此目的使用SQL Reporting Services。我们曾经有一个与你的系统非常相似的系统,但是自从迁移到RS后没有任何问题。
答案 2 :(得分:1)
是否必须通过HTTP接口调用?也就是说,你能创建一个同样的命令行项目吗?如果可以,您可以轻松设置计划任务,每15分钟调用一次命令行应用程序。
答案 3 :(得分:0)
需要定期运行的东西似乎与数据库有关。如果是签出SQL Server代理(假定SQL Server)并将结果存储到可以从ASP页面快速查询的表中。