替代WScript.Sleep

我使用WhatsUpGold来监视服务的正常运行时间,其中一个是MySql服务器。 由于没有明确的支持MySql,我不得不写一个VBS脚本来做到这一点。 不幸的是,WhatsUpGold不支持WScript.Sleep。 在他们的论坛上的替代是这一个,但它似乎是一个肮脏的黑客。 我可以使用这两种方法吗? 我真的不喜欢复制/粘贴function。

哦,现在这是一个诡计。 它会工作,如果用户的应用程序正在运行,因为它没有被locking,所以它不能使用wshell.run。 我觉得我其实很喜欢

如果应用程序运行在一个您可以pipe理访问的盒子上,以便您可以注册一个COM DLL,那么当我想要在经典的ASP代码中进行testing(有时插入虚假的延迟有时是有用的),我使用一个简单的免费不幸的是,DLL不能从原始源中获得( 参见这里的一些讨论 )。 如果你想尝试,我已经在这里放了一个副本。 要调用,使用类似Dim WaitObj: Set WaitObj = Server.CreateObject ("WaitFor.Comp"): WaitObj.WaitForSeconds 10

毫无疑问,库只是睡眠API调用的一个包装,所以如果你不想相信一些未经审查的3D方的随机库,那么你可以自己创build(相信未经审查的源代码中的匿名代码不是某种东西我不会推荐,我认为是一个未经审查的来源)。 对于VB6,调用将被声明为Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

在这一点上,我会做的第一件事情是,在尝试上面的任何一种之前,在StackOverflow中查询其他人在非繁忙等待中使用的经典ASP。 你可能会发现另外一个图书馆依然受到其创build者的支持,或者是一个更好的技术。 由于ping技巧是使用CreaetObject我怀疑在经典的ASP上下文中可用的任何东西都可以从你的应用程序中使用。

啊! 多年来我没有使用任何“WhatsUp”软件,所以我失去了熟悉。 快速审查他们的论坛,并与我的朋友Gooogle进行search,确认您提到的那些丑陋的黑客。

我会像batch file那样滥用PING,有时会拖延。 这很聪明,但很丑。

丑陋的替代scheme是提出一些根本不需要任何“睡眠”function的代码。 你如何监测MySQL? 你用ODBC连接到它并运行一个查询来判断它的“活力”吗?

ping -n X 127.0.0.1技巧是一种破解,但不是特别脏。 自上个世纪以来,它在各种Windows批处理脚本中广为人知和使用;)

你有没有试过SleepCMD?