VirtualPathUtility Класс

Определение

Предоставляет служебные методы для основных операций с виртуальным путем.Provides utility methods for common virtual path operations.

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
Наследование
VirtualPathUtility

Примеры

В следующем примере кода показано, как использовать класс VirtualPathUtility и некоторые его методы.The following code example demonstrates how to use the VirtualPathUtility class and some of its methods. Сначала свойство FilePath создает виртуальный путь к веб-странице.First, the FilePath property generates the virtual path to the Web page. Методы GetFileName, GetExtensionи GetDirectory возвращают сведения о виртуальном пути.The GetFileName, GetExtension, and GetDirectory methods return information about the virtual path. Затем свойство CurrentExecutionFilePath создает виртуальный путь текущего запроса, который может отличаться от свойства FilePath, если был вызван метод 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. Методы IsAbsolute, IsAppRelativeи ToAppRelative возвращают сведения о виртуальном пути.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>

Комментарии

Класс VirtualPathUtility предоставляет служебные методы для общих операций, в которых используется виртуальный путь.The VirtualPathUtility class provides utility methods for common operations involving virtual paths. Для серверных элементов управления ASP.NET и серверного кода виртуальные пути, использующие корневой оператор веб-приложения (тильда (~), обычно используются вместо относительных и абсолютных путей.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. Дополнительные сведения см. в разделе ASP.NET Web Project paths.For more information, see ASP.NET Web Project Paths.

Используйте класс VirtualPathUtility, если необходимо преобразовать относительные пути приложения в абсолютные виртуальные пути, как это может быть в случае разработки пользовательского обработчика веб-службы.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.

Абсолютный виртуальный путь начинается с литеральной косой черты (/).An absolute virtual path starts with the literal slash mark (/). Относительный виртуальный путь задается относительно корневого каталога приложения, если он является просто тильдой (~) или начинается с тильды и двойной обратной косой черты (~\\) или тильды и косая черта (~/).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 (~/). Относительный виртуальный путь делает путь независимым от приложения.Making a virtual path relative makes the path independent of the application.

Виртуальный каталог для приложения можно получить из свойств AppDomainAppVirtualPath и ApplicationPath.The virtual directory for the application can be obtained from the AppDomainAppVirtualPath and ApplicationPath properties.

Примечание

Класс VirtualPathUtility не предназначен для обеспечения безопасности или канонической практики.The VirtualPathUtility class is not intended for security or canonicalization purposes. Дополнительные сведения о безопасности веб-приложений см. в разделе Обзор угроз безопасности веб-приложений.For more information about Web application security, see Overview of Web Application Security Threats. Сведения об универсальных функциях обработки URL-адресов см. в разделе Uri.For generic URL processing functionality, see Uri.

Методы

AppendTrailingSlash(String)

Добавляет знак косой черты (/), если он отсутствует, в конец виртуального пути.Appends the literal slash mark (/) to the end of the virtual path, if one does not already exist.

Combine(String, String)

Объединяет базовый путь и относительный путь.Combines a base path and a relative path.

GetDirectory(String)

Возвращает каталог виртуального пути.Returns the directory portion of a virtual path.

GetExtension(String)

Возвращает расширение файла, на который ссылается виртуальный путь.Retrieves the extension of the file that is referenced in the virtual path.

GetFileName(String)

Возвращает имя файла, на который ссылается виртуальный путь.Retrieves the file name of the file that is referenced in the virtual path.

IsAbsolute(String)

Возвращает логическое значение, показывающее, является ли указанный виртуальный путь абсолютным, то есть начинающимся знаком косой черты(/).Returns a Boolean value indicating whether the specified virtual path is absolute; that is, it starts with a literal slash mark (/).

IsAppRelative(String)

Возвращает логическое значение, показывающее, является ли указанный путь зависящим от приложения.Returns a Boolean value indicating whether the specified virtual path is relative to the application.

MakeRelative(String, String)

Возвращает относительный виртуальный путь из одного виртуального пути, содержащего корневой оператор тильда (~), к другому.Returns the relative virtual path from one virtual path containing the root operator (the tilde [~]) to another.

RemoveTrailingSlash(String)

Удаляет завершающий знак косой черты (/) из виртуального пути.Removes a trailing slash mark (/) from a virtual path.

ToAbsolute(String)

Преобразует виртуальный путь в абсолютный путь приложения.Converts a virtual path to an application absolute path.

ToAbsolute(String, String)

Преобразует виртуальный путь в абсолютный путь приложения, используя указанный путь приложения.Converts a virtual path to an application absolute path using the specified application path.

ToAppRelative(String)

Преобразует виртуальный путь в путь, зависящий от приложения, используя виртуальный путь приложения, который представлен в свойстве AppDomainAppVirtualPath.Converts a virtual path to an application-relative path using the application virtual path that is in the AppDomainAppVirtualPath property.

ToAppRelative(String, String)

Преобразует виртуальный путь в путь, зависящий от приложения, используя указанный путь приложения.Converts a virtual path to an application-relative path using a specified application path.

Применяется к

Дополнительно