Почему Server.MapPath ("~") дает разные результаты на разных контроллерах? - PullRequest
1 голос
/ 28 июня 2019

У меня есть один контроллер, WorkingController.cs с методом UploadDocument () который содержит код

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

В другой области у меня есть другой контроллер, NotWorkingController.cs с похожим методом UploadDocument (), который содержит код

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

Когда код запускается на моем живом и тестовом сайте, папка «Working» создается в 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 голосов
/ 29 июня 2019

Вы проверили свои настройки IIS?

Перейдите в IIS, щелкните правой кнопкой мыши веб-сайт -> Основные настройки и проверьте физический путь вашего сайта.

Я подозреваю, что у вас может быть приложение на веб-сайте, проверьте также физический путь для приложения ... это должно помочь вам выяснить, на какой физический путь отображается ваше приложение.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...