我有一个经典的asp应用程序,它检索当前的应用程序名称并设置包含该名称的Application变量。这个名称很重要(我不会讨论为什么),并且本质上是IIS中的友好名称。
问题是,用于获取此名称的实现是有缺陷的,它a)假定主目录包含字符串wwwroot,并且b)假定文件夹名称与应用程序名称相同。我不能再保证这些条件。
我原以为应用程序名称在运行时是知道的,但我似乎无法在Session或Application变量中找到它(在应用程序启动时在global.asa中的入口点)。有什么想法吗?
答案 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网站