ASP.NET中的工作文件夹

Jef*_*ege 6 asp.net working-directory

我们有一个用ASP.NET 3.5编写的Web应用程序.在其中,我们访问代码隐藏中的文件.(普通的C#文件访问,在页面生命周期中在服务器上完成,这与URL或Web浏览器无关).

在我们的生产系统上,我们在web.config中指定了相关文件的完整路径.我们希望能够在版本控制中的项目中包含该文件的本地副本,然后使用版本控制的web.config中的相对路径指向它,以便签出的副本应用程序可以在Visual Studio的调试器中运行,而无需进行任何配置.

问题是当Web应用程序在调试模式下运行时,其工作目录既不是项目也不是解决方案目录.在Windows或控制台应用程序中,在项目的属性页面中,我可以设置工作目录.但在Web应用程序中我不能.

关于如何设法使这项工作的任何想法?

Nic*_*ver 14

要获取应用程序根目录的路径:

//equivalent to Server.MapPath("/"); if at domain root, e.g Http://mysite.com/
string path = Server.MapPath("~");
Run Code Online (Sandbox Code Playgroud)

这个答案给出了一些Server.MapPath()可能对您有用的不同常见用途的概述.

  • 使用`HostingEnvironment.MapPath()`会更好,因为它不需要`HttpContext`:http://stackoverflow.com/q/944219/3205 (4认同)

归档时间:

查看次数:

11946 次

最近记录:

13 年,9 月 前