VirtualPathUtility Classe

Definizione

Fornisce metodi di utilità per le operazioni comuni relative ai percorsi virtuali.Provides utility methods for common virtual path operations.

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
Ereditarietà
VirtualPathUtility

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare la classe VirtualPathUtility e alcuni dei relativi metodi.The following code example demonstrates how to use the VirtualPathUtility class and some of its methods. In primo luogo, la proprietà FilePath genera il percorso virtuale della pagina Web.First, the FilePath property generates the virtual path to the Web page. I metodi GetFileName, GetExtensione GetDirectory restituiscono informazioni sul percorso virtuale.The GetFileName, GetExtension, and GetDirectory methods return information about the virtual path. Successivamente, la proprietà CurrentExecutionFilePath genera un percorso virtuale della richiesta corrente, che potrebbe essere diversa dalla proprietà FilePath, se è stato chiamato un metodo di Redirect.Next, the CurrentExecutionFilePath property generates a virtual path of the current request, which might be different from the FilePath property, if a Redirect method was called. I metodi IsAbsolute, IsAppRelativee ToAppRelative restituiscono informazioni sul percorso virtuale.The IsAbsolute, IsAppRelative, and ToAppRelative methods return information about the virtual path.

<%@ 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>

Commenti

La classe VirtualPathUtility fornisce metodi di utilità per le operazioni comuni che coinvolgono percorsi virtuali.The VirtualPathUtility class provides utility methods for common operations involving virtual paths. Per i controlli server ASP.NET e il codice server, i percorsi virtuali che usano l'operatore radice dell'applicazione Web, la tilde (~), vengono comunemente usati al posto dei percorsi relativi e assoluti.For ASP.NET server controls and server code, virtual paths using the Web application root operator, the tilde (~), commonly are used instead of relative and absolute paths. Per ulteriori informazioni, vedere ASP.NET Web Project Paths.For more information, see ASP.NET Web Project Paths.

Utilizzare la classe VirtualPathUtility quando è necessario convertire i percorsi relativi all'applicazione in percorsi virtuali assoluti, come potrebbe essere il caso nello sviluppo di un gestore di servizi Web personalizzato.Use the VirtualPathUtility class when you need to convert application-relative paths to absolute virtual paths, as might be the case in developing a custom Web service handler.

Un percorso virtuale assoluto inizia con la barra letterale (/).An absolute virtual path starts with the literal slash mark (/). Un percorso virtuale relativo è relativo alla directory radice dell'applicazione, se è solo una tilde (~) o inizia con la tilde e una doppia barra rovesciata (~\\) o la tilde e una barra (~/).A relative virtual path is relative to the application root directory, if it is just a tilde (~) or starts with the tilde and a double backslash (~\\) or the tilde and a slash mark (~/). La creazione di un percorso virtuale relativo rende il percorso indipendente dall'applicazione.Making a virtual path relative makes the path independent of the application.

La directory virtuale per l'applicazione può essere ottenuta dalle proprietà AppDomainAppVirtualPath e ApplicationPath.The virtual directory for the application can be obtained from the AppDomainAppVirtualPath and ApplicationPath properties.

Nota

La classe VirtualPathUtility non è destinata a scopi di sicurezza o canonizzazione.The VirtualPathUtility class is not intended for security or canonicalization purposes. Per ulteriori informazioni sulla sicurezza delle applicazioni Web, vedere Panoramica delle minacce per la sicurezza delle applicazioni Web.For more information about Web application security, see Overview of Web Application Security Threats. Per la funzionalità di elaborazione degli URL generici, vedere Uri.For generic URL processing functionality, see Uri.

Metodi

AppendTrailingSlash(String)

Accoda la barra (/) alla fine del percorso virtuale, se non esiste già.Appends the literal slash mark (/) to the end of the virtual path, if one does not already exist.

Combine(String, String)

Combina un percorso base e uno relativo.Combines a base path and a relative path.

GetDirectory(String)

Restituisce la parte di directory di un percorso virtuale.Returns the directory portion of a virtual path.

GetExtension(String)

Recupera l'estensione del file cui viene fatto riferimento nel percorso virtuale.Retrieves the extension of the file that is referenced in the virtual path.

GetFileName(String)

Recupera il nome del file cui viene fatto riferimento nel percorso virtuale.Retrieves the file name of the file that is referenced in the virtual path.

IsAbsolute(String)

Restituisce un valore booleano indicante se il percorso virtuale specificato è assoluto, ovvero inizia con una barra (/).Returns a Boolean value indicating whether the specified virtual path is absolute; that is, it starts with a literal slash mark (/).

IsAppRelative(String)

Restituisce un valore booleano indicante se il percorso virtuale specificato è relativo all'applicazione.Returns a Boolean value indicating whether the specified virtual path is relative to the application.

MakeRelative(String, String)

Restituisce il percorso virtuale relativo da un percorso virtuale contenente il carattere tilde (~) che rappresenta la directory radice a un altro.Returns the relative virtual path from one virtual path containing the root operator (the tilde [~]) to another.

RemoveTrailingSlash(String)

Rimuove la barra (/) finale da un percorso virtuale.Removes a trailing slash mark (/) from a virtual path.

ToAbsolute(String)

Converte un percorso virtuale in un percorso assoluto dell'applicazione.Converts a virtual path to an application absolute path.

ToAbsolute(String, String)

Converte un percorso virtuale in un percorso assoluto dell'applicazione utilizzando il percorso applicazione specificato.Converts a virtual path to an application absolute path using the specified application path.

ToAppRelative(String)

Converte un percorso virtuale in uno percorso relativo all'applicazione utilizzando il percorso virtuale dell'applicazione presente nella proprietà AppDomainAppVirtualPath.Converts a virtual path to an application-relative path using the application virtual path that is in the AppDomainAppVirtualPath property.

ToAppRelative(String, String)

Converte un percorso virtuale in un percorso relativo all'applicazione utilizzando un percorso applicazione specificato.Converts a virtual path to an application-relative path using a specified application path.

Si applica a

Vedi anche