1

現在のアプリケーション名を取得し、その名前を含む Application 変数を設定する従来の ASP アプリケーションがあります。この名前は重要で (理由については説明しません)、基本的に IIS のフレンドリ名です。

問題は、この名前を取得するために使用される実装に欠陥があることです。a) ホーム ディレクトリに文字列 wwwroot が含まれていると想定し、b) フォルダ名がアプリケーション名と同じであると想定しています。これらの条件を保証することはできません。

アプリケーション名は実行時にわかっていると思っていましたが、セッション変数またはアプリケーション変数 (global.asa のアプリケーション起動エントリ ポイント) でそれを見つけることができないようです。何か案は?

4

2 に答える 2

3

次のようなことを試してみてください。

Dim obj
Dim inst

inst = Request.ServerVariables("INSTANCE_ID")

Set obj = GetObject("IIS://localhost/W3SVC/" + inst)

Response.Write obj.ServerComment
于 2010-05-11T10:07:31.307 に答える
0

わかりやすい名前で IIS の説明を参照している場合、IIS の AdminScripts フォルダー (通常は c:\Inetpub\AdminScripts) にある findweb.vbs ファイルからいくらかのマイレージを得ることができます。そのフォルダー内の他のスクリプトのいくつかは、あなたももっと遠くに行くために。

これも試してみてください。ADIS を介して IIS Web サイトを列挙する方法を示します。

于 2010-05-11T10:01:24.403 に答える