Что мне нужно сделать, чтобы заставить Server.MapPath
работать?
у меня естьusing System.Web;
что еще? Когда я печатаю, Server
нет опции быстрого результата (intelli-sense) для Server
.
Любая помощь?
Что мне нужно сделать, чтобы заставить Server.MapPath
работать?
у меня естьusing System.Web;
что еще? Когда я печатаю, Server
нет опции быстрого результата (intelli-sense) для Server
.
Любая помощь?
Ответы:
вы можете попробовать использовать это
System.Web.HttpContext.Current.Server.MapPath(path);
или используйте HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
Ваш проект должен ссылаться на сборку System.Web.dll
. Сервер - это объект типа HttpServerUtility
. Пример:
HttpContext.Current.Server.MapPath(path);
System.Web.HttpContext.Current.Server.MapPath("~/")
дает значение null, если мы вызываем его из потока.
Итак, попробуйте использовать
System.Web.Hosting.HostingEnvironment.MapPath("~/")
bool IsExist = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
if (!IsExist)
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
StreamWriter textWriter = File.CreateText(Path.Combine(HttpContext.Current.Server.MapPath("/UploadedFiles/") + "FileName.csv"));
var csvWriter = new CsvWriter(textWriter, System.Globalization.CultureInfo.CurrentCulture);
csvWriter.WriteRecords(classVM);
Попробуйте добавить System.Web
ссылку на свой проект.
Вам нужно добавить reference ( System.Web
)
Ссылка на System.Web
Я знаю, что этому посту несколько лет, но я добавляю эту строку в начало вашего класса, и вы все равно сможете использовать Server.MapPath.
Dim Server = HttpContext.Current.Server
или ты можешь сделать функцию
Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function
Я стремлюсь облегчить жизнь. Я также добавил его в свой класс Utilities на случай, если снова столкнусь с этим.