Server.MapPath()
Я хочу использовать метод Server.MapPath() im для сопоставления виртуального каталога, который я создал, с его физическим путем.
Дело в том, что среда.net не распознает Server.MapPath().
Google сказал мне, что я должен использовать HttpContext.Current.Server с использованием System.Web, но HttpContext не распознается, несмотря на то, что я использую System.Web. (И я проверил - HttpContext - это один из классов System.Web)
Помогите?
3 ответа
Убедитесь, что вы включили System.Web в свои проекты. Ссылки Выполните следующие действия (в Visual Studio IDE):
- Щелкните правой кнопкой мыши узел проекта (окно обозревателя решений)
- В контекстном меню нажмите Добавить ссылку
- Выберите System.Web в элементах списка вкладки.NET.
- Нажмите кнопку ОК
Server.MapPath теперь должен быть доступен.
Если у вас есть веб-приложение, вы должны автоматически иметь ссылку на System.Web.dll
и у вас должен быть доступ к System.Web.HttpContext
учебный класс. Убедитесь, что вы случайно не удалили ссылку. Вам понадобится using System.Web;
Заявление о доступе к HttpContext
класс без указания полного пространства имен.
Если у вас нет веб-приложения, вам нужно добавить ссылку на System.Web.dll
чтобы получить доступ к HttpContext
класс, но это не поможет вам немного. Поскольку вы не находитесь в веб-приложении, отсутствует контекст HTTP и отсутствует корневая папка веб-сайта, поэтому вы не можете использовать метод MapPath.
Та же проблема здесь. В веб-приложении ASP.net 4.0, в обработчике.ashx, с using System.Web
на вершине. Я не мог использовать Server.MapPath()
это то, что книга, которую я сказал, чтобы использовать или System.Web.HttpServerUtility.MapPath()
это то, что Google и MSDN продолжают появляться. Я также не мог использовать HttpServerUtility.MapPath()
как уже упоминалось выше.
Тем не менее, один из других ответов здесь побудил меня попробовать context.Server.MapPath()
который работает в моем ProcessRequest(HttpContext context)
метод.