2009-11-11 75 views
0

我目前有一個每15分鐘運行一次的ASP Classic腳本(通過計劃任務)。該任務負責任地打開Internet Explorer並加載創建報告ASP頁面。一旦頁面加載完成,我在頁面的底部有JavaScript關閉IE窗口。我們經常遇到腳本會因任何原因掛起而無法完成的問題。因此,我們在一天結束時會結束多個IE實例。但是,以這種方式生成報告似乎非常笨重和不自然。我使用IIS並切換到.NET。每隔15分鐘創建報告的最有效方法?

會有人有任何其他選擇嗎?

謝謝。

+0

每隔15分鐘創建一個報告?請求時無法按需執行報告的任何原因? – Juliet 2009-11-11 15:29:19

+0

創建此報告後會發生什麼?我假設它被寫入磁盤? – RichardOD 2009-11-11 15:30:00

回答

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自動化。

2

我們使用SQL Reporting Services來達到這個目的。我們曾經有一個與您的系統非常相似的系統,但自遷移到RS以來沒有任何問題。

1

它是否需要通過HTTP接口調用?也就是說,你可以做一個命令行項目來做同樣的事情嗎?如果可以,您可以輕鬆設置計劃任務,每15分鐘調用一次命令行應用程序。

0

某些需要定期運行的東西似乎與數據庫相關。如果這是檢出SQL Server代理(假設SQL Server)並將結果存儲到可從ASP頁面快速查詢的表中。