Como posso usar Server.MapPath () de global.asax?
-
06-09-2019 - |
Pergunta
Eu preciso usar Server.MapPath()
para combinar algum caminho arquivos que eu armazenar na web.config
.
No entanto, desde Server.MapPath()
confia no atual HttpContext (eu acho), eu sou incapaz de fazer isso. Ao tentar usar o método, apesar de sua "disponível", recebo a seguinte exceção:
operação de servidor não está disponível neste contexto.
Existe outro método que pode mapear um diretório relativo raiz da web, como ~/App_Data/
para o caminho físico completo, como C:\inetpub\wwwroot\project\App_data\
?
Solução
Você poderia tentar System.Web.Hosting .HostingEnvironment.MapPath () .
No HttpContext necessário.
Outras dicas
Use AppDomain.CurrentDomain.BaseDirectory
porque Context
pode retornar nulo !!
Quando em Global.asax, use o contexto objeto:
context.Server.mappath ()
Contexto permite acessar também a coleção de sessão, o objeto de solicitação, o objeto de resposta. Muito útil quando você quiser registrar erros, por exemplo
Você poderia tentar HttpContext.Current.Server.MapPath ( "/"). - Isso é como eu referenciados antes em aulas