Що я повинен зробити, щоб зробити 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
як посилання на свій проект.
Вам потрібно додати посилання ( 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
Я все про те, щоб полегшити справи. Я також додав його до свого класу «Утиліти» на всякий випадок, якщо я знову наткнувся на це.