Udostępnij za pośrednictwem


VirtualPathUtility Klasa

Definicja

Udostępnia metody narzędziowe dla typowych operacji ścieżki wirtualnej.

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
Dziedziczenie
VirtualPathUtility

Przykłady

W poniższym przykładzie kodu pokazano, jak używać VirtualPathUtility klasy i niektórych jej metod. FilePath Najpierw właściwość generuje ścieżkę wirtualną do strony sieci Web. Metody GetFileName, GetExtensioni GetDirectory zwracają informacje o ścieżce wirtualnej. CurrentExecutionFilePath Następnie właściwość generuje ścieżkę wirtualną bieżącego żądania, która może różnić się od FilePath właściwości , jeśli Redirect została wywołana metoda. Metody IsAbsolute, IsAppRelativei ToAppRelative zwracają informacje o ścieżce wirtualnej.

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

Uwagi

Klasa VirtualPathUtility udostępnia metody narzędziowe dla typowych operacji obejmujących ścieżki wirtualne. W przypadku kontrolek serwera ASP.NET i kodu serwera ścieżki wirtualne używające operatora głównego aplikacji internetowej, tyldy (~) są często używane zamiast ścieżek względnych i bezwzględnych. Aby uzyskać więcej informacji, zobacz ASP.NET Ścieżki projektów internetowych.

VirtualPathUtility Użyj klasy , jeśli musisz przekonwertować ścieżki względne aplikacji na bezwzględne ścieżki wirtualne, tak jak w przypadku tworzenia niestandardowej procedury obsługi usługi sieci Web.

Bezwzględna ścieżka wirtualna rozpoczyna się od znaku ukośnika literału (/). Względna ścieżka wirtualna jest względna względem katalogu głównego aplikacji, jeśli jest to tylko tylda (~) lub rozpoczyna się od tyldy i podwójnego ukośnika odwrotnego (~\\) lub tyldy i znaku ukośnika (~/). Utworzenie względnej ścieżki wirtualnej powoduje, że ścieżka jest niezależna od aplikacji.

Katalog wirtualny aplikacji można uzyskać z AppDomainAppVirtualPath właściwości i ApplicationPath .

Uwaga

Klasa nie jest przeznaczona VirtualPathUtility do celów zabezpieczeń ani kanonizacji. Aby uzyskać więcej informacji na temat zabezpieczeń aplikacji internetowych, zobacz Omówienie zagrożeń zabezpieczeń aplikacji internetowej. Aby uzyskać ogólne funkcje przetwarzania adresów URL, zobacz Uri.

Metody

AppendTrailingSlash(String)

Dołącza znak ukośnika literału (/) na końcu ścieżki wirtualnej, jeśli jeszcze nie istnieje.

Combine(String, String)

Łączy ścieżkę podstawową i ścieżkę względną.

GetDirectory(String)

Zwraca część katalogu ścieżki wirtualnej.

GetExtension(String)

Pobiera rozszerzenie pliku, do którego odwołuje się ścieżka wirtualna.

GetFileName(String)

Pobiera nazwę pliku, do którego odwołuje się ścieżka wirtualna.

IsAbsolute(String)

Zwraca wartość logiczną wskazującą, czy określona ścieżka wirtualna jest bezwzględna; oznacza to, że zaczyna się od znaku ukośnika literału (/).

IsAppRelative(String)

Zwraca wartość logiczną wskazującą, czy określona ścieżka wirtualna jest względna względem aplikacji.

MakeRelative(String, String)

Zwraca względną ścieżkę wirtualną z jednej ścieżki wirtualnej zawierającej operator główny (tyldę [~]) do innej.

RemoveTrailingSlash(String)

Usuwa końcowy znak ukośnika (/) ze ścieżki wirtualnej.

ToAbsolute(String)

Konwertuje ścieżkę wirtualną na ścieżkę bezwzględną aplikacji.

ToAbsolute(String, String)

Konwertuje ścieżkę wirtualną na ścieżkę bezwzględną aplikacji przy użyciu określonej ścieżki aplikacji.

ToAppRelative(String)

Konwertuje ścieżkę wirtualną na ścieżkę względną aplikacji przy użyciu ścieżki wirtualnej aplikacji, która znajduje się we AppDomainAppVirtualPath właściwości .

ToAppRelative(String, String)

Konwertuje ścieżkę wirtualną na ścieżkę względną aplikacji przy użyciu określonej ścieżki aplikacji.

Dotyczy

Zobacz też