O que devo fazer para dar certo Server.MapPath
?
eu tenhousing System.Web;
o quê mais? Quando digito, Server
não há opção de resultado rápido (intelli-sense) para Server
.
Qualquer ajuda?
O que devo fazer para dar certo Server.MapPath
?
eu tenhousing System.Web;
o quê mais? Quando digito, Server
não há opção de resultado rápido (intelli-sense) para Server
.
Qualquer ajuda?
Respostas:
você pode tentar usar isso
System.Web.HttpContext.Current.Server.MapPath(path);
ou usar HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
Seu projeto precisa fazer referência ao assembly System.Web.dll
. O servidor é um objeto do tipo HttpServerUtility
. Exemplo:
HttpContext.Current.Server.MapPath(path);
System.Web.HttpContext.Current.Server.MapPath("~/")
dá null se o chamarmos de um thread.
Então, tente usar
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);
Tente adicionar System.Web
como referência ao seu projeto.
Você precisa adicionar reference ( System.Web
)
Reference to System.Web
Eu sei que este post tem alguns anos, mas o que eu faço é adicionar esta linha ao topo da sua classe e você ainda será capaz de usar Server.MapPath
Dim Server = HttpContext.Current.Server
ou você pode fazer uma função
Public Function MapPath(sPath as String)
return HttpContext.Current.Server.MapPath(sPath)
End Function
Meu objetivo é tornar as coisas mais fáceis. Também o adicionei à minha classe Utilitários, para o caso de encontrar novamente.