我需要澄清IIS中的虚拟目录

时间:2012-06-13 18:10:17

标签: c# visual-studio-2010

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

我的应用程序位于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”)); Dir包含c:\ inetpub \ wwwroot \ images !! ??!?!?

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

由于

2 个答案:

答案 0 :(得分:4)

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

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

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

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

DirectoryInfo dir = new DirectoryInfo(imagesPath);

答案 1 :(得分:0)

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

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

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