2011-08-05 3 views
1

時には時間がかかる(15秒)バックグラウンド処理が必要なスクリプトがありますが、それ以外の場合は単純なリダイレクトです。リダイレクトターゲットは、スクリプトの実行の早い段階で知られています。リダイレクトURLがわかったら、リダイレクトHTMLをユーザーエージェントに送信し、HTTPレスポンスを閉じることはできますが、スクリプトの処理は続行できますか?ASP Classicでは、スクリプトでHTTP接続を閉じて実行を継続できますか?

答えて

3

ASPコードから非同期にプログラム(BAT、EXEなど)を実行することでこれを解決できます。

set wshell = CreateObject("WScript.Shell") 
    runcmd = "c:\myOwnProgram.bat param1=test" 
    wshell.run runcmd, 0, False 

Wshell.Runあなたはstuff asyncを実行できます。スクリプトのタイムアウトを心配することなく、時間を浪費するタスクを消してください!ほんとうに素晴らしい。

+0

Davidさん、ありがとうございました。スクリプトを2つに分割し、wshellを使用してwgetを呼び出してスクリプトの2番目の部分を実行することができます。ありがとう! – Sc0ttyD

+0

これを試しましたが、権限エラーが発生しました。「Microsoft VBScriptランタイムエラー」800a0046「 アクセス許可が拒否されました。 – Sc0ttyD

+0

実行しようとしているプログラムにアプリケーションプールがアクセスできることを確認してください。通常、IISはLocal_serviceとして実行されていますが、別のアカウントで実行される可能性があります。 1. IISプールが実行されているアカウントを確認します。 2.プログラムファイルを右クリックし、必要な権限を追加します。 – David

関連する問題