如何在经典的asp Web应用程序中获取当前的应用程序名称(就IIS而言)

时间:2010-05-10 16:01:16

标签: asp-classic application-name

我有一个经典的asp应用程序,它检索当前的应用程序名称并设置包含该名称的Application变量。这个名称很重要(我不会讨论为什么),并且本质上是IIS中的友好名称。

问题是,用于获取此名称的实现是有缺陷的,它a)假定主目录包含字符串wwwroot,并且b)假定文件夹名称与应用程序名称相同。我不能再保证这些条件。

我原以为应用程序名称在运行时是知道的,但我似乎无法在Session或Application变量中找到它(在应用程序启动时在global.asa中的入口点)。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

你可能想尝试这样的事情:

Dim obj
Dim inst

inst = Request.ServerVariables("INSTANCE_ID")

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

Response.Write obj.ServerComment

答案 1 :(得分:0)

如果通过友好名称引用IIS描述,您可能会从IIS的AdminScripts文件夹中的findweb.vbs文件中获得一些里程(通常是c:\ Inetpub \ AdminScripts)该文件夹中的一些其他脚本或许也可以让你更进一步。

尝试this。它显示了如何通过ADIS枚举IIS网站