作定时处理的话,我们首先考虑到的就是自己写个程序,然后把这个程序部署到Win的计划任务中。 这个程序可以是简单的批处理dat文件,也可以是一个js文件。当然更复杂的dll,exe也可以。 考虑到方便性,易维护,我推荐用js文件。 下面是个简单的js范例文件。 他的功能是:访问一个页面,如果发现这个页面异常重起iis服务。 把它部署到计划任务中,就可以对Web站点进行监控。 if(!CheckUrl()) { WScript.Echo("iisreset"); var s = new ActiveXObject("WScript.Shell"); s.Run("iisreset"); 情缘.教程_网 [http://Www.XiuGoo.Com] } 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) http://www.w3schools.com/dom/dom_http.asp 以上解决方案,感谢Lostinnet和思归的帮助。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-30 03:31 , Processed in 0.151186 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.