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) | 
		 使用指定的应用程序路径将虚拟路径转换为应用程序相对路径。  |