为什么Server.MapPath(“〜”)在不同的控制器中给出不同的结果?

时间:2019-06-28 13:18:10

标签: asp.net-mvc

我有一个控制器,WorkingController.cs,带有一个方法UploadDocument() 其中包含代码

var dir = Server.MapPath("~/Working");
Directory.CreateDirectory(dir);

在另一个区域中,我有另一个Controller,NotWorkingController.cs,它具有包含代码的类似方法UploadDocument()

var dir = Server.MathPath("~/NotWorking");
Directory.CreateDirectory(dir);

当代码在我的现场和测试站点上运行时,将在 C:\ inetpub \ wwwroot \ Working 中创建“工作”文件夹。但是,NotWorking文件夹是在 C:\ inetpub \ wwwroot \ My_Application_Name \ NotWorking

中创建的

MVC如何确定根文件夹在哪里?我该如何保持一致?

发布项目时,用户在C:\ inetpub \ wwwroot \ My_Application_Name内部上传的所有文档都将被删除!

我查看了各种AreaRegistraion.cs和web.config文件 和RouteConfig.cs文件,但找不到任何可以配置应用程序根目录的位置。

1 个答案:

答案 0 :(得分:0)

您检查了IIS设置吗?

转到IIS,右键单击网站->基本设置,然后检查网站的物理路径。

我怀疑您可能在网站下有一个应用程序,也请检查该应用程序的物理路径...这应该有助于您找出应用程序所映射的物理路径。

enter image description here