VirtualPathUtilityとは? わかりやすく解説

VirtualPathUtility クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

共通仮想パス操作に使用するユーティリティ メソッドを提供します。

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public NotInheritable Class
 VirtualPathUtility
public static class VirtualPathUtility
public ref class VirtualPathUtility abstract
 sealed
public final class VirtualPathUtility
public final class VirtualPathUtility
解説解説

VirtualPathUtility クラスは、仮想パス関連の共通操作に使用するユーティリティ メソッドを提供します。ASP.NET のサーバー コントロールとサーバー コードでは、一般的に、Web アプリケーション ルート演算子であるティルダ (~) を使用する仮想パスが、相対パスや絶対パスの代わりに使用されます。詳細については、「ASP.NET Web サイトのパス」を参照してください。

VirtualPathUtility クラスは、カスタム Web サービス ハンドラの開発時などに、アプリケーション相対パスを絶対仮想パスに変換する必要がある場合に使用します。

絶対仮想パスは、リテラル スラッシュ記号 (/) で始まります。相対仮想パスが、ティルダ (~) のみの場合、ティルダと二重円記号 (~\\) で始まる場合、またはティルダとスラッシュ記号 (~/) で始まる場合は、アプリケーションのルート ディレクトリに対する相対です。仮想パスを相対にすると、パスがアプリケーション依存ではなくなります。

アプリケーションの仮想ディレクトリは AppDomainAppVirtualPath プロパティと ApplicationPath プロパティから取得できます。

メモメモ

VirtualPathUtility クラスは、セキュリティや標準化を目的としていません。Web アプリケーションのセキュリティの詳細については、「Web アプリケーションのセキュリティ上の脅威の概要」を参照してください。一般的な URL 処理機能については、Uri のトピックを参照してください。

使用例使用例

VirtualPathUtility クラスとそのメソッドのいくつかを使用する方法を次のコード例に示します。まず、FilePath プロパティが Web ページへの仮想パスを生成します。GetFileName、GetExtension、および GetDirectory の各メソッドが、仮想パスに関する情報を返します。次に、CurrentExecutionFilePath プロパティは現在の要求の仮想パスを生成します。Redirect メソッドが呼び出された場合、生成されたパスは、FilePath と異なることがあります。IsAbsolute、IsAppRelative、および ToAppRelative の各メソッドが、仮想パスに関する情報を返します。

<%@ 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)
    
    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())
    
    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())

  End Sub
  
</script>

<html  >
<head runat="server">
    <title>VirtualPathUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>
</html>
<%@ 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)
  {
    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());
    
    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());
}
</script>

<html  >
<head runat="server">
    <title>VirtualPathUtility Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.VirtualPathUtility
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

VirtualPathUtility メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AppendTrailingSlash リテラル スラッシュ記号 (/) が仮想パスの末尾になかった場合は追加します。
パブリック メソッド Combine 基本パスと相対パスを連結します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetDirectory 仮想パスのディレクトリ部分を返します。
パブリック メソッド GetExtension 仮想パスで参照されているファイルの拡張子を取得します。
パブリック メソッド GetFileName 仮想パスで参照されているファイルの名前を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsAbsolute 指定された仮想パスが絶対かどうか、つまりリテラル スラッシュ記号 (/) で始まるかどうかを示すブール値を返します。
パブリック メソッド IsAppRelative 指定された仮想パスがアプリケーションに対する相対かどうかを示すブール値を返します。
パブリック メソッド MakeRelative ルート演算子 (ティルダ [~]) を含む仮想パスから別の仮想パスへの相対仮想パスを返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド RemoveTrailingSlash 末尾のスラッシュ記号 (/) を仮想パスから削除します。
パブリック メソッド ToAbsolute オーバーロードされます。 仮想パスをアプリケーション絶対パスに変換します。
パブリック メソッド ToAppRelative オーバーロードされます。 仮想パスをアプリケーション相対パスに変換します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

VirtualPathUtility クラス
System.Web 名前空間
HttpRequest クラス

その他の技術情報

ASP.NET Web サイトのパス

VirtualPathUtility メンバ

共通仮想パス操作に使用するユーティリティ メソッドを提供します。

VirtualPathUtility データ型で公開されるメンバを以下の表に示します。


パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AppendTrailingSlash リテラル スラッシュ記号 (/) が仮想パスの末尾になかった場合は追加します。
パブリック メソッド Combine 基本パスと相対パスを連結します。
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetDirectory 仮想パスのディレクトリ部分を返します。
パブリック メソッド GetExtension 仮想パスで参照されているファイルの拡張子を取得します。
パブリック メソッド GetFileName 仮想パスで参照されているファイルの名前を取得します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsAbsolute 指定された仮想パスが絶対かどうか、つまりリテラル スラッシュ記号 (/) で始まるかどうかを示すブール値を返します。
パブリック メソッド IsAppRelative 指定された仮想パスがアプリケーションに対する相対かどうかを示すブール値を返します。
パブリック メソッド MakeRelative ルート演算子 (ティルダ [~]) を含む仮想パスから別の仮想パスへの相対仮想パスを返します。
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド RemoveTrailingSlash 末尾のスラッシュ記号 (/) を仮想パスから削除します。
パブリック メソッド ToAbsolute オーバーロードされます。 仮想パスをアプリケーション絶対パスに変換します。
パブリック メソッド ToAppRelative オーバーロードされます。 仮想パスをアプリケーション相対パスに変換します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

VirtualPathUtility クラス
System.Web 名前空間
HttpRequest クラス

その他の技術情報

ASP.NET Web サイトのパス



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「VirtualPathUtility」の関連用語

VirtualPathUtilityのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



VirtualPathUtilityのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS