VirtualPathUtility Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет служебные методы для основных операций с виртуальным путем.
public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
- Наследование
-
VirtualPathUtility
Примеры
В следующем примере кода показано, как использовать класс и некоторые VirtualPathUtility его методы. Во-первых FilePath , свойство создает виртуальный путь к веб-странице. Методы GetFileName, GetExtensionи GetDirectory возвращают сведения о виртуальном пути. CurrentExecutionFilePath Затем свойство создает виртуальный путь к текущему запросу, который может отличаться от FilePath свойства, если Redirect был вызван метод . Методы IsAbsolute, IsAppRelativeи 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) |
Преобразует виртуальный путь в абсолютный путь приложения. |
ToAbsolute(String, String) |
Преобразует виртуальный путь в абсолютный путь приложения, используя указанный путь приложения. |
ToAppRelative(String) |
Преобразует виртуальный путь в путь, зависящий от приложения, используя виртуальный путь приложения, который представлен в свойстве AppDomainAppVirtualPath. |
ToAppRelative(String, String) |
Преобразует виртуальный путь в путь, зависящий от приложения, используя указанный путь приложения. |