VirtualPathUtility Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |