VirtualPathUtility クラス

定義

共通仮想パス操作に使用するユーティリティ メソッドを提供します。Provides utility methods for common virtual path operations.

public ref class VirtualPathUtility abstract sealed
public static class VirtualPathUtility
type VirtualPathUtility = class
Public Class VirtualPathUtility
継承
VirtualPathUtility

次のコード例は、VirtualPathUtility クラスとそのメソッドの一部を使用する方法を示しています。The following code example demonstrates how to use the VirtualPathUtility class and some of its methods. まず、FilePath プロパティによって Web ページへの仮想パスが生成されます。First, the FilePath property generates the virtual path to the Web page. GetFileNameGetExtension、および GetDirectory の各メソッドは、仮想パスに関する情報を返します。The GetFileName, GetExtension, and GetDirectory methods return information about the virtual path. 次に、CurrentExecutionFilePath プロパティは、Redirect メソッドが呼び出された場合に、FilePath プロパティとは異なる場合がある現在の要求の仮想パスを生成します。Next, the CurrentExecutionFilePath property generates a virtual path of the current request, which might be different from the FilePath property, if a Redirect method was called. IsAbsoluteIsAppRelative、および ToAppRelative の各メソッドは、仮想パスに関する情報を返します。The IsAbsolute, IsAppRelative, and ToAppRelative methods return information about the virtual path.

<%@ 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 クラスは、仮想パスに関連する一般的な操作のためのユーティリティメソッドを提供します。The VirtualPathUtility class provides utility methods for common operations involving virtual paths. ASP.NET サーバーコントロールとサーバーコードの場合、Web アプリケーションルート演算子を使用した仮想パスは、通常、相対パスと絶対パスではなく、チルダ (~) で使用されます。For ASP.NET server controls and server code, virtual paths using the Web application root operator, the tilde (~), commonly are used instead of relative and absolute paths. 詳細については、「 ASP.NET Web プロジェクト Paths」を参照してください。For more information, see ASP.NET Web Project Paths.

カスタム Web サービスハンドラーを開発する場合と同様に、アプリケーション相対パスを絶対仮想パスに変換する必要がある場合は、VirtualPathUtility クラスを使用します。Use the VirtualPathUtility class when you need to convert application-relative paths to absolute virtual paths, as might be the case in developing a custom Web service handler.

絶対仮想パスは、リテラルスラッシュ記号 (/) で始まります。An absolute virtual path starts with the literal slash mark (/). 相対仮想パスは、アプリケーションルートディレクトリに対する相対パスです。これがチルダ (~) であるか、チルダと2つの円記号 (~\\)、またはチルダとスラッシュ記号 (~/) で始まります。A relative virtual path is relative to the application root directory, if it is just a tilde (~) or starts with the tilde and a double backslash (~\\) or the tilde and a slash mark (~/). 仮想パスを相対的に作成すると、パスがアプリケーションに依存しなくなります。Making a virtual path relative makes the path independent of the application.

アプリケーションの仮想ディレクトリは、AppDomainAppVirtualPathApplicationPath のプロパティから取得できます。The virtual directory for the application can be obtained from the AppDomainAppVirtualPath and ApplicationPath properties.

注意

VirtualPathUtility クラスは、セキュリティや正規化の目的ではありません。The VirtualPathUtility class is not intended for security or canonicalization purposes. Web アプリケーションのセキュリティの詳細については、「 Web アプリケーションのセキュリティの脅威の概要」を参照してください。For more information about Web application security, see Overview of Web Application Security Threats. 一般的な URL 処理機能については、「Uri」を参照してください。For generic URL processing functionality, see Uri.

メソッド

AppendTrailingSlash(String)

リテラル スラッシュ記号 (/) が仮想パスの末尾になかった場合は追加します。Appends the literal slash mark (/) to the end of the virtual path, if one does not already exist.

Combine(String, String)

基本パスと相対パスを連結します。Combines a base path and a relative path.

GetDirectory(String)

仮想パスのディレクトリ部分を返します。Returns the directory portion of a virtual path.

GetExtension(String)

仮想パスで参照されているファイルの拡張子を取得します。Retrieves the extension of the file that is referenced in the virtual path.

GetFileName(String)

仮想パスで参照されているファイルの名前を取得します。Retrieves the file name of the file that is referenced in the virtual path.

IsAbsolute(String)

指定された仮想パスが絶対かどうか、つまりリテラル スラッシュ記号 (/) で始まるかどうかを示すブール値を返します。Returns a Boolean value indicating whether the specified virtual path is absolute; that is, it starts with a literal slash mark (/).

IsAppRelative(String)

指定された仮想パスがアプリケーションに対する相対かどうかを示すブール値を返します。Returns a Boolean value indicating whether the specified virtual path is relative to the application.

MakeRelative(String, String)

ルート演算子 (ティルダ [~]) を含む仮想パスから別の仮想パスへの相対仮想パスを返します。Returns the relative virtual path from one virtual path containing the root operator (the tilde [~]) to another.

RemoveTrailingSlash(String)

末尾のスラッシュ記号 (/) を仮想パスから削除します。Removes a trailing slash mark (/) from a virtual path.

ToAbsolute(String)

仮想パスをアプリケーション絶対パスに変換します。Converts a virtual path to an application absolute path.

ToAbsolute(String, String)

指定されたアプリケーション パスを使用して、仮想パスをアプリケーション絶対パスに変換します。Converts a virtual path to an application absolute path using the specified application path.

ToAppRelative(String)

AppDomainAppVirtualPath プロパティに格納されているアプリケーション仮想パスを使用して、仮想パスをアプリケーション相対パスに変換します。Converts a virtual path to an application-relative path using the application virtual path that is in the AppDomainAppVirtualPath property.

ToAppRelative(String, String)

指定されたアプリケーション パスを使用して、仮想パスをアプリケーション相対パスに変換します。Converts a virtual path to an application-relative path using a specified application path.

適用対象

こちらもご覧ください