Co muszę zrobić, żeby Server.MapPath
zadziałało?
mamusing System.Web;
co jeszcze? Kiedy piszę, Server
nie ma opcji szybkiego wyszukiwania wyników (intelli-sense) dla Server
.
Jakaś pomoc?
Co muszę zrobić, żeby Server.MapPath
zadziałało?
mamusing System.Web;
co jeszcze? Kiedy piszę, Server
nie ma opcji szybkiego wyszukiwania wyników (intelli-sense) dla Server
.
Jakaś pomoc?
Odpowiedzi:
możesz spróbować tego użyć
System.Web.HttpContext.Current.Server.MapPath(path);
albo użyj HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
Twój projekt musi odnosić się do zestawu System.Web.dll
. Serwer jest obiektem typu HttpServerUtility
. Przykład:
HttpContext.Current.Server.MapPath(path);
System.Web.HttpContext.Current.Server.MapPath("~/")
daje null, jeśli wywołasz to z wątku.
Więc spróbuj użyć
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);
Spróbuj dodać System.Web
jako odniesienie do swojego projektu.
Musisz dodać odwołanie do odwołania ( System.Web
)
do System.Web
Wiem, że ten post ma kilka lat, ale ja dodam tę linię na początek twojej klasy, a nadal będziesz mógł korzystać z serwera.
Dim Server = HttpContext.Current.Server
lub możesz zrobić funkcję
Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function
Chodzi mi o to, żeby wszystko było łatwiejsze. Dodałem go również do mojej klasy Utilities, na wypadek, gdybym znów się z tym spotkał.