VirtualPathUtility 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为常见的虚拟路径操作提供实用工具方法。
public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
- 继承
-
VirtualPathUtility
示例
下面的代码示例演示如何使用 VirtualPathUtility 类及其一些方法。 首先, FilePath 属性生成网页的虚拟路径。 GetFileName、 GetExtension和 GetDirectory 方法返回有关虚拟路径的信息。 接下来, CurrentExecutionFilePath 属性生成当前请求的虚拟路径,如果Redirect调用了方法,该路径可能与 属性不同FilePath。 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 服务器控件和服务器代码,通常使用使用 Web 应用程序根运算符的虚拟路径,即波形符 (~) ,而不是相对路径和绝对路径。 有关详细信息,请参阅 ASP.NET Web 项目路径。
VirtualPathUtility当需要将应用程序相对路径转换为绝对虚拟路径时,请使用 类,就像开发自定义 Web 服务处理程序时一样。
绝对虚拟路径以文本斜杠标记 (/) 开头。 相对虚拟路径是相对于应用程序根目录的,如果它只是一个波形符 (~) 或以波形符和双反斜杠开头 (~\\) 或波形符和斜杠标记 (~/) 。 使虚拟路径相对化使路径独立于应用程序。
可以从 和 ApplicationPath 属性获取AppDomainAppVirtualPath应用程序的虚拟目录。
注意
类 VirtualPathUtility 不用于安全或规范化目的。 有关 Web 应用程序安全性的详细信息,请参阅 Web 应用程序安全威胁概述。 有关通用 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) |
使用指定的应用程序路径将虚拟路径转换为应用程序相对路径。 |