我需要对 IIS 中的虚拟目录进行一些澄清

本文关键字:虚拟 IIS | 更新日期: 2023-09-27 18:37:17

OK.也许我做得不对,但我可以告诉你我在做什么,也许有人可以提供帮助。

我的应用程序位于 http://localhost''MyApplication ( c:''inetpub''wwwroot''MyApplication)。现在我在 http://localhost''MyApplication''ImagePaths(指向d:''images文件夹)中创建了一个虚拟目录

在我的一个aspx页面中,我试图列出 http://localhost''MyApplication''ImagePaths虚拟目录中的所有图像。
我试过:DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~/ImagePaths"));目录包含 c:''inetpub''wwwroot''images !??!?!?

这样做的正确方法是什么? 我只想在我的应用程序外部创建一个目录,并列出我的应用程序中的内容。

谢谢

我需要对 IIS 中的虚拟目录进行一些澄清

我会使用 web.config 的<appSettings>部分并将其存储在那里:

<appSettings>
   <add key="ImagesPath" value="D:'Images"/>
</appSettings>

然后从代码中,您可以通过以下方式访问它:

string imagesPath = ConfigurationManager.AppSettings["ImagesPath"];

和:

DirectoryInfo dir = new DirectoryInfo(imagesPath);

~ 表示"从我的虚拟目录的根目录"。然后,您从那里构建一条不存在的路径,并询问它在磁盘上的位置。

即使该文件夹不存在,您也会得到答案。

为什么不使用配置来说明可以找到映像的位置,而不是硬编码虚拟目录?无论如何,一旦您将这些 vdir 托管在单独的机器上,您当前的方法就会出现问题,因此最好使用 config 来存储 unc 路径。