ASP: 無理やりウェイトを入れる方法

「ここで 30 秒待つ」というような処理を ASP でやろうとすると、はたと困る。VBScript にも JScript にも、そのための機能が標準で用意されていないからだ。しかし、無理やりウェイトを入れる方法が、ないこともない。
具体的には、ASP 中の該当箇所に以下のようなスクリプトを書けばいい。

Dim oShell
Set oShell = Server.CreateObject("WScript.Shell")
oShell.Run "C:\foo\sleep.exe 30", 1, True

つまり、適当なプログラムを起動して終了待ちすることで、ウェイトを入れるというやり方。上のコードは、Windows のリソースキットに入っている sleep.exe を使って 30 秒間のウェイトを入れる場合の例。
この手を使う条件として、ウェイトをかけるのに適したプログラムが必要だ。メモ帳なんかを使うと、閉じてやるかスクリプトタイムアウトが発生するまで待機してしまう。
ちなみに、条件によっては別解もある。

サーバにソフトウェアを自由に入れられる場合
TimeTool や BASP21 といった COM オブジェクトを使う
ASP じゃなくて WSHスクリプトを書く場合
WScript オブジェクトの Sleep メソッドを使う
ASP じゃなくて ASP.NET の場合
System.Threading.Thread クラスの Sleep メソッドを使う