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\?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top