Conhecendo paths ASP.NET

Conhecendo paths ASP.NET

O ASP.NET contém muitas propriedades para recuperar informação sobre paths da requisição atual,controle e aplicação.
Há muita informação sobre paths no objeto Request,alguns desses são pra sobrepor e outros vão a níveis mais baixos do path,por isso pode ser confuso achar apenas o caminho certo que você está procurando.

Eu achei uma boa idéia listar as opções de path junto com sua descrição e um exemplo.

Aqui está uma lista de propriedades relacionada com o objeto Request e o objeto Page.Tomamos como exemplo o caminho http://www.webabstract.com/webclass/learn/paths.aspx, onde webclass é o nome do virtual.

Propriedade do Request Descrição e valor
ApplicationPath Retorna a raiz-relativa lógica da pasta virtual da aplicação
/webclass/
PhysicalApplicationPath Retorna o caminho local (FileSystem) da pasta virtual da aplicação
c:\inetpub\wwwroot\webclass
PhysicalPath Retorna o caminho local do script
atual
ou do path atual
c:\inetpub\wwwroot\webclass\learn\paths.aspx
Path

FilePath

CurrentExecutionFilePath

Todos esses retornam o caminho lógico completo da raiz-relativa incluindo paths e nome de scripts.CurrentExecutionFilePath <br />retorna o caminho da requisição atual,depois de um Transfer enquanto FilePath sempre retorna o caminho original da requisição
/webclass/learn/paths.aspx
AppRelativeCurrentExecutionFilePath Retorna o caminho virtual da raiz-relativa do script ou caminho da requisição atual.<br />Se estiver num Transfer o caminho da transferencia é que é retornado
~/learn/paths.aspx
PathInfo Retorna qualquer extra path depois do nome do script.Se não houver extra path retorna o caminho da raiz-relativa.
/webclass/learn/paths.aspx/ExtraPathInfo
RawUrl Retorna a URL completa da raiz-relativa incluindo QueryString e Extra Path

/webclass/learn/paths.aspx?nome=DotNet
Url Retorna a URL completa incluindo QueryString e ExtraPath.Note que retorna uma instancia do objeto Uri ao invés de string.

http://www.webabstract.com/webclass/learn/paths.aspx?nome=DotNet

UrlReferrer Retorna a URL completa da página que enviou a requisição.Também retorna uma instância do objeto Uri e retorna NULL se a página foi acessada diretamente sendo digitada na barra de endereço.

http://www.webabstract.com/webclass/learn/default.aspx?Info

Como você pode ver,há muita informação disponível pra cada um dos 3 formatos de path comuns:

  • Caminho Físico (Physical Path):
    é um caminho do tipo do OS que aponta para um caminho ou arquivo no disco.
  • Caminho lógico (Logical Path):
    é um caminho Web que é relativo a raiz do servidor.
  • ~/(raiz-relativa) Path:
    é um caminho especifico do ASP.NET que inclue ~/ pra indicar a raiz virtual do caminho Web.O ASP.NET pode converter caminhos virtuais tanto em caminhos lógicos usando Control.ResolveUrl() ou caminhos fisicos usando Server.MapPath().Caminhos de raiz-relativa são uteis para especificar URL móveis que não dependem da estrutura de diretórios relativa e muito util para uso em controles ou componentes.

Você deve conseguir pegar qualquer formato de path ou script necessário do ASP.NET usando esses mecanismos

Anúncios