VirtualPathUtility Класс

Определение

Предоставляет служебные методы для основных операций с виртуальным путем.

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

Примеры

В следующем примере кода показано, как использовать VirtualPathUtility класс и некоторые его методы. FilePath Сначала свойство создает виртуальный путь к веб-странице. GetExtensionМетоды GetFileNameи , а GetDirectory также возвращают сведения о виртуальном пути. CurrentExecutionFilePath Затем свойство создает виртуальный путь к текущему запросу, который может отличаться от FilePath свойства, если Redirect был вызван метод. IsAppRelativeМетоды IsAbsoluteи , а ToAppRelative также возвращают сведения о виртуальном пути.

<%@ 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 предоставляет служебные методы для распространенных операций, связанных с виртуальными путями. Для ASP.NET серверных элементов управления и кода сервера виртуальные пути, использующие корневой оператор веб-приложения, тильду (~), обычно используются вместо относительных и абсолютных путей. Дополнительные сведения см. в разделе ASP.NET пути веб-Project.

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

Абсолютный виртуальный путь начинается с литеральной косой черты (/). Относительный виртуальный путь относительно корневого каталога приложения, если это просто тильда (~) или начинается с тильды и двойной обратной косой черты (\~\) или тильды и косой черты (~/). При относительном виртуальном пути путь не зависит от приложения.

Виртуальный каталог приложения можно получить из AppDomainAppVirtualPath свойств и ApplicationPath свойств.

Примечание

Класс VirtualPathUtility не предназначен для целей безопасности или канонизации. Дополнительные сведения о безопасности веб-приложений см. в разделе "Обзор угроз безопасности веб-приложений". Общие сведения о функциональных возможностях обработки URL-адресов см. в разделе Uri.

Методы

AppendTrailingSlash(String)

Добавляет знак косой черты (/), если он отсутствует, в конец виртуального пути.

Combine(String, String)

Объединяет базовый путь и относительный путь.

GetDirectory(String)

Возвращает каталог виртуального пути.

GetExtension(String)

Возвращает расширение файла, на который ссылается виртуальный путь.

GetFileName(String)

Возвращает имя файла, на который ссылается виртуальный путь.

IsAbsolute(String)

Возвращает логическое значение, показывающее, является ли указанный виртуальный путь абсолютным, то есть начинающимся знаком косой черты(/).

IsAppRelative(String)

Возвращает логическое значение, показывающее, является ли указанный путь зависящим от приложения.

MakeRelative(String, String)

Возвращает относительный виртуальный путь из одного виртуального пути, содержащего корневой оператор тильда (~), к другому.

RemoveTrailingSlash(String)

Удаляет завершающий знак косой черты (/) из виртуального пути.

ToAbsolute(String)

Преобразует виртуальный путь в абсолютный путь приложения.

ToAbsolute(String, String)

Преобразует виртуальный путь в абсолютный путь приложения, используя указанный путь приложения.

ToAppRelative(String)

Преобразует виртуальный путь в путь, зависящий от приложения, используя виртуальный путь приложения, который представлен в свойстве AppDomainAppVirtualPath.

ToAppRelative(String, String)

Преобразует виртуальный путь в путь, зависящий от приложения, используя указанный путь приложения.

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

См. также раздел