已知Physical path, 如何获得它在IIS上的virual path(200分)

  • 主题发起人 主题发起人 歪就歪
  • 开始时间 开始时间

歪就歪

Unregistered / Unconfirmed
GUEST, unregistred user!
一个路径,比如:c:/mywwwroot/.如果它是web shared的,有没有办法能得到它的virtual path? 如果不是唯一的,返回一个数组?

就象Request.MapPath, 但是反过来?


 
才五个人阅读?:-(

补偿:这里的SERVER指IIS
 
我帮你向上顶!
 
咳咳……
 
a: 是问的无礼?
b: 还是问的无理?
c: 还没没有解决方案?
d: 还是故意不回答,臊着俺?

 
这个怎么说的呢,你知道的:
一个请求可以带来以下内容
Request.Accept:=image/gif, image/jpeg,....,*/*
Request.Authorization:=
Request.CacheControl:=no-cache
Request.Connection:=Keep-Alive
Request.Content:=username=&password=&post_action=login&Submit=Submit
Request.ContentEncoding:=
Request.ContentType:=application/x-www-form-urlencoded
Request.ContentVersion:=
Request.Cookie:=
Request.DerivedFrom:=
Request.From:=
Request.Host:=xxx.xxx.xxx.xxx (服务器的IP)
Request.InternalPathInfo:=/ (内部路径信息)
Request.InternalScriptName:=/CGI-BIN/TestCGI.cgi
Request.Method:=POST
Request.PathInfo:=/login (同 InternalPathInfo)
Request.PathTranslated:=X:...apachehtdocs ( 服务可以翻译物理路径 )
Request.ProtocolVersion:=HTTP/1.1
Request.Query:=
Request.Referer:=http://xxx.xxx.xxx.xxx/index.htm
Request.RemoteAddr:=xxx.xxx.xxx.xxx (客户的IP)
Request.RemoteHost:=
Request.ScriptName:=/CGI-BIN/TestCGI.cgi
Request.Title:=
Request.URL:=
Request.UserAgent:=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
就是不知道这个回答是否切题。
 
老歪 好久没来了?
在ASP中 用虚拟路径可以反查出物理路径 反之没试过 也许可以的
 
c:/mywwwroot/ 的虚拟路径不就是/mywwwroot/吗?这个有什么好说的?
楼主想做什么?
 
宝胜:呵呵,你好,其实也来的,只是不太好意思总问蠢问题。没错,我所要的,正是反过来查。

小雨哥:request class是正相反,如果你有一个路径,知道它的physical path,如果它是web share的,它的vitual path是什么?

CSZ:也可以是别的,就象可以搬家一样,不一定非要叫这个

看来问题是说清楚了,但似乎无解,该死的IIS把这些路径信息藏在什么地方了?
 
好象是在 MetaBase.bin 文件里的吧。并参考 adsutil.vbs 脚本 (Admin 下几个脚本)。
 
to 歪就歪,
你要查询的就是在
资源管理器里面按右键,然后选择属性,点击Web共享,下面出现的东西吧。

昨天按看了半天,至少能够有一个笨方法能够完成。
就是遍历所有虚拟目录,然后看所有虚拟目录的真是目录是什么,找到符合的,那么你就能够找到指定目录的虚拟目录了。

不过估计MS肯定有更好的办法,但是俺没有做过这个方面的,没有太好的建议。

还有,你的目标实现语言是?
 
类似下面的东西倒是不少,不过根据这个肯定能够成功的。
http://justdn.org/justdn.v2/content.php?ID=278
 
yzhshi: 谢谢,那个IISMANAGER我知道,它是通过把所有的virtual path找出来,放
到一个collection里,然后对应着反查询,如果没有别的直接办法,我只有选择这个
方式。

 
好吧,掏钱……

谁要是以后知道有什么直接的办法,俺愿意另给分。宗旨是直接从physical到virtual的,而不是反过来。
 
结束问题
 
嘿嘿,以后俺要是遇到了解答的办法,一定在这里回复。
相信你已经订阅了邮件……
 
哈哈,好的,多谢!
 
后退
顶部