Бөлісу құралы:


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 Пути веб-проекта.

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, String)

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

ToAbsolute(String)

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

ToAppRelative(String, String)

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

ToAppRelative(String)

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

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

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