2

これがばかげた質問である場合はご容赦ください。私は ASP を初めて使用します。ASP ページを処理する仮想 Windows Server 2012 があり、テスト目的でそれらをホストに渡します。いくつかのアプリケーション レベルの変数を宣言する global.asa ファイルがありますが、機能していないようです。ファイルを呼び出す必要があるかどうかはわかりませんが、インターネットで呼び出すことについての参照は見つかりません。

global.asa:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
    Application("someVar") = "testing..."
    'More vars...
End Sub
</SCRIPT>

default.asp: (または、その他のファイル)

Repsonse.Write(Application("someVar"))

何も出力されません。

ただし、次のように値をすぐに指定すると、次のようになります。

Application("someVar") = "testing..."
Repsonse.Write(Application("someVar"))

本来のように「testing...」を出力します。

その後、Application("someVar") = "testing..."行を削除しても「testing...」が出力されます。そのため、変数は保持されています。global.asa ファイルによって最初に設定されていないだけです。

global.asa ファイルを介してそれらを初期化するために他に何かする必要がありますか? 仮想サーバーのセットアップに問題がありますか? おそらく、Web ブラウザーを介して global.asa ファイルに移動すると、404 エラーが発生することを言及しておく必要があります。サーバーがそれを隠そうとしているのかどうかはわかりませんが、default.asp と同じディレクトリにあることは確かです。ブラウザはこれを確認することを拒否しています。

4

2 に答える 2

0
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
    Application("someVar") = "testing..."
    'More vars...
End Sub
</SCRIPT>

おそらく、アプリケーションが既に実行された後で、Global.asa に var someVar を設定します。もしそうなら、 Application_OnStart イベントはすでに実行されています!!!

于 2015-07-25T08:33:14.173 に答える
0

サイトがアプリケーションとして設定されていない場合、iis で定義されたグローバル アプリケーション変数は機能しません。

IIS を開き、Web サイトを新しいサイトとしてセットアップする必要があります。

iis manager を開き、servername を展開し、'Sites' を展開します。所有しているすべてのサイトが一覧表示されます。

新しいサイトをセットアップするには、[サイト] を右クリックして [Web サイトの追加] を選択します 名前を付け、参照して場所を選択し、必要に応じてホスト ヘッダーを設定します (例: www.mytestdomain.co.uk)

または (これは多くの場合、テスト セットアップでの原因です)

デフォルトのサイト設定があり、このアプリケーションがサブフォルダである場合、フォルダを右クリックして [アプリケーションに変換] を選択するだけで、そのサブフォルダをアプリケーションとして設定できます。ポップアップで [OK] をクリックして確認します。

于 2013-09-20T11:35:17.817 に答える