VirtualPathUtility Classe

Definição

Fornece métodos utilitários para operações comuns de caminho virtual.

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
Herança
VirtualPathUtility

Exemplos

O seguinte exemplo de código demonstra como usar a VirtualPathUtility classe e alguns dos seus métodos. Primeiro, a FilePath propriedade gera o caminho virtual para a página Web. Os GetFileNamemétodos , GetExtension, e GetDirectory retornam informação sobre o caminho virtual. De seguida, a CurrentExecutionFilePath propriedade gera um caminho virtual do pedido atual, que pode ser diferente da FilePath propriedade, se um Redirect método fosse chamado. Os IsAbsolutemétodos , IsAppRelative, e ToAppRelative retornam informação sobre o caminho virtual.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  protected void Page_Load(object sender, EventArgs e)
  {
    // <Snippet2> 
    StringBuilder sb = new StringBuilder();
    String pathstring = Context.Request.FilePath.ToString();
    sb.Append("Current file path = " + pathstring + "<br />");
    sb.Append("File name = " + VirtualPathUtility.GetFileName(pathstring).ToString() + "<br />");
    sb.Append("File extension = " + VirtualPathUtility.GetExtension(pathstring).ToString() + "<br />");
    sb.Append("Directory = " + VirtualPathUtility.GetDirectory(pathstring).ToString() + "<br />");
    Response.Write(sb.ToString());
    // </Snippet2>
    
    // <Snippet3>
    StringBuilder sb2 = new StringBuilder();
    String pathstring1 = Context.Request.CurrentExecutionFilePath.ToString();
    sb2.Append("Current Executing File Path = " + pathstring1.ToString() + "<br />");
    sb2.Append("Is Absolute = " + VirtualPathUtility.IsAbsolute(pathstring1).ToString() + "<br />");
    sb2.Append("Is AppRelative = " + VirtualPathUtility.IsAppRelative(pathstring1).ToString() + "<br />");
    sb2.Append("Make AppRelative = " + VirtualPathUtility.ToAppRelative(pathstring1).ToString() + "<br />");
    Response.Write(sb2.ToString());
    // </Snippet3>
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>VirtualPathUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    
    ' <Snippet2>
    Dim sb As New StringBuilder()
    Dim pathstring As String = Context.Request.FilePath.ToString()
    sb.Append("Current file path = " & pathstring & "<br />")
    sb.Append("File name = " & VirtualPathUtility.GetFileName(pathstring).ToString() & "<br />")
    sb.Append("File extension = " & VirtualPathUtility.GetExtension(pathstring).ToString() & "<br />")
    sb.Append("Directory = " & VirtualPathUtility.GetDirectory(pathstring).ToString() & "<br />")
    Response.Write(sb.ToString())
    ' </Snippet2>
    
    ' <Snippet3>
    Dim sb2 As New StringBuilder()
    Dim pathstring1 As String = Context.Request.CurrentExecutionFilePath.ToString()
    sb2.Append("Current Executing File Path = " & pathstring1.ToString() & "<br />")
    sb2.Append("Is Absolute = " & VirtualPathUtility.IsAbsolute(pathstring1).ToString() & "<br />")
    sb2.Append("Is AppRelative = " & VirtualPathUtility.IsAppRelative(pathstring1).ToString() & "<br />")
    sb2.Append("Make AppRelative = " & VirtualPathUtility.ToAppRelative(pathstring1).ToString() & "<br />")
    Response.Write(sb2.ToString())
    ' </Snippet3>

  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>VirtualPathUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>

Observações

A VirtualPathUtility classe fornece métodos utilitários para operações comuns envolvendo caminhos virtuais. Para controlos e código de servidor ASP.NET, são frequentemente usados caminhos virtuais usando o operador raiz da aplicação Web, o tilde (~), em vez de caminhos relativos e absolutos. Para mais informações, consulte ASP.NET Web Project Paths.

Use a VirtualPathUtility classe quando precisar de converter caminhos relativos à aplicação em caminhos virtuais absolutos, como pode ser o caso ao desenvolver um manipulador personalizado de serviços Web.

Um caminho virtual absoluto começa com a marca de barra literal (/). Um caminho virtual relativo é relativo ao diretório raiz da aplicação, se for apenas um tilde (~) ou começar com o tilde e uma barra inversa dupla (~\\) ou o tilde e uma marca de barra (~/). Tornar um caminho virtual relativo torna o caminho independente da aplicação.

O diretório virtual da aplicação pode ser obtido a partir das AppDomainAppVirtualPath propriedades e.ApplicationPath

Note

A VirtualPathUtility classe não se destina a fins de segurança ou canonização. Para mais informações sobre a segurança das aplicações Web, consulte Visão Geral das Ameaças à Segurança das Aplicações Web. Para funcionalidades genéricas de processamento de URLs, veja Uri.

Métodos

Name Description
AppendTrailingSlash(String)

Acrescenta a marca de barra literal (/) ao final do caminho virtual, caso já não exista uma.

Combine(String, String)

Combina um caminho base e um caminho relativo.

GetDirectory(String)

Devolve a parte do diretório de um caminho virtual.

GetExtension(String)

Recupera a extensão do ficheiro referenciado no caminho virtual.

GetFileName(String)

Recupera o nome do ficheiro referenciado no caminho virtual.

IsAbsolute(String)

Devolve um valor booleano indicando se o caminho virtual especificado é absoluto; ou seja, começa com uma marca de barra literal (/).

IsAppRelative(String)

Devolve um valor booleano indicando se o caminho virtual especificado é relativo à aplicação.

MakeRelative(String, String)

Devolve o caminho virtual relativo de um caminho virtual que contém o operador raiz (o tilde [~]) para outro.

RemoveTrailingSlash(String)

Remove uma marca de barra final (/) de um caminho virtual.

ToAbsolute(String, String)

Converte um caminho virtual num caminho absoluto de aplicação usando o caminho de aplicação especificado.

ToAbsolute(String)

Converte um caminho virtual num caminho absoluto da aplicação.

ToAppRelative(String, String)

Converte um caminho virtual num caminho relativo à aplicação usando um caminho de aplicação especificado.

ToAppRelative(String)

Converte um caminho virtual num caminho relativo à aplicação usando o caminho virtual da aplicação que está na AppDomainAppVirtualPath propriedade.

Aplica-se a

Ver também