Estou tentando obter o caminho absoluto de certos arquivos em uma classe c #. Server.MapPath
funciona muito bem, é claro, para o ASPX e suas páginas de code-behind, mas isso não existe em outro arquivo de classe. Eu tentei HostingEnvironment.MapPath()
, mas isso reclama que o caminho virtual relativo não é permitido. Alguma ideia?
System.Web
já está importado.
você também pode usar:
E se
está inacessível
fonte
Você não pode simplesmente adicionar uma referência
System.Web
e então pode usarServer.MapPath
?Edit: Hoje em dia eu recomendo usar o
HostingEnvironment.MapPath
método :É um método estático na
System.Web
montagem que mapeia um caminho virtual para um caminho físico no servidor. Ele não requer uma referência aHttpContext
.fonte
Se o arquivo que você está tentando obter é o local da montagem para um tipo. Mas se os arquivos forem relativos ao local da montagem, você poderá usá-lo com
System.IO
espaço para nome para obter o caminho exato do arquivo.fonte
Eu também uso isso:
fonte
Agora, quando você chama o método a partir do código
por exemplo :
dessa maneira seu código é simples e com um método você pode usar múltiplos caminhos para cada chamada :)
fonte
Este ajudou para mim
fonte
Esteja você executando no contexto do ASP.NET ou não, poderá usar HostingEnvironment.ApplicationPhysicalPath
fonte
O server.mappath ("") funcionará na página aspx, se você quiser obter o caminho absoluto de um arquivo de classe, precisará usar isso-
fonte