
日期:2006-08-16 作者:喜騰小二 來源:PHPChina
轉自:http://www4.blog.163.com/article/-3BQ2-r_97Ci.html
作定時處理的話,我們首先考慮到的就是自己寫個程式,然後把這個程式部署到Win的計劃工作中。
這個程式可以是簡單的批次dat檔案,也可以是一個js檔案。當然更復雜的dll,exe也可以。
考慮到方便性,易維護,我推薦用js檔案。
下麵是個簡單的js範例檔案。
他的功能是:訪問一個页面,如果發現這個页面異常重新啟動iis服務。
把它部署到計劃工作中,就可以對Web站點進行監控。
if(!CheckUrl())
{
WScript.Echo("iisreset");
var s = new ActiveXObject("WScript.Shell");
s.Run("iisreset");
}
else
{
WScript.Echo("OK");
}
function CheckUrl()
{
try
{
var xh=new ActiveXObject("Microsoft.XMLHTTP");
xh.open("GET","http://localhost/quickstart/aspplus/doc/businessobjs.aspx",false);
xh.send("");
return xh.status == 200;
}
catch( X )
{
return false;
}
}
以上使用 Microsoft.XMLHTTP 如果一個站點沒有回應,他會一直等下去。改成 Msxml2.ServerXMLHTTP 就可以避免這個問題。參考下麵函式:
function CheckUrl()
{
try
{
// 使用這個,可以設定逾時時間,不用一直等待。
var xmlServerHttp = new ActiveXObject("Msxml2.ServerXMLHTTP");
var lResolve = 5 * 1000;
var lConnect = 5 * 1000;
var lSend = 15 * 1000;
var lReceive = 15 * 1000;
xmlServerHttp.setTimeouts(lResolve, lConnect, lSend, lReceive);
xmlServerHttp.open("GET", "http://localhost/quickstart/aspplus/doc/businessobjs.aspx", false);
xmlServerHttp.send();
return xmlServerHttp.status == 200;
}
catch( X )
{
return false;
}
}
如果妳要訪問的页面是需要身份驗證的。
請參考:
oXMLHttpRequest.open(Method, Url, Async, User, Password)