2008-11-04 65 views
1

我有一个C#.NET Web项目,我目前正在使用。我想要做的是读取一些文件,我把它放到与正在尝试读取它们的fileReader.cs相同级别的目录中。在一个普通的桌面应用程序,以下将工作:在.NET项目中读取文件

DirectoryInfo di = new DirectoryInfo(./myDir); 

但是因为它是一个web项目的执行上下文是不同的,我不知道如何访问这些文件?

最终fileReader将在安装例程中调用。我打算重写一个Installer.cs的抽象方法,这样会影响执行上下文吗?

回答

4

使用Server.MapPath获取当前正在执行的页面的本地路径。

3

使用Server.MapPath方法将指定的相对或虚拟路径映射到服务器上相应的物理目录。

Server.MapPath("mydir/file.some") 

这将返回:C:\网站\脚本\ MYDIR \ file.some

脚本也可以调用MapPath的全虚拟路径:

Server.MapPath("/scripts/mydir/file.some") 

这里是link to the MSDN documentation of MapPath

+0

任何想法,为什么这不适合我在一个webrole项目? – Guy 2012-04-10 11:13:56