por Cesar Cassiano Schimanco

Alternativas ao Server.MapPath - C#

Nos últimos dias tive problemas ao usar HttpContext.Current.Server.MapPath em um Timer.
Neste caso, o problema é que o HttpContext.Current retorna null quando chamado pelo Timer.
Também já tive problemas de Server.MapPath em webservice quando usei HttpContext.Current.

O que é Server.MapPath?
Server.MapPath é o método que mapeia o caminho relativo ou virtual do diretório físico correspondente no servidor.

Abaixo vou listar algumas alternativas para resolver o problema de System.Web.HttpContext.Current.Server.MapPath.

//Mapeia um caminho virtual para um caminho físico no servidor.
System.Web.Hosting.HostingEnvironment.MapPath("/");
//Resultado: C:\inetpub\wwwroot\exemplo\

//Obtém o diretório base, o resolvedor de assembly usa para investigar os assemblies.
AppDomain.CurrentDomain.BaseDirectory;
//Resultado: C:\inetpub\wwwroot\exemplo\

//Obtém o caminho de unidade física de diretório de aplicativo hospedado no domínio do aplicativo atual.
HttpRuntime.AppDomainAppPath;
//Resultado: C:\inetpub\wwwroot\exemplo\

 

Comentários

Carregando comentários

Postar um novo comentário



Processando...