VirtualPathUtility クラス
アセンブリ: System.Web (system.web.dll 内)
構文
解説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 のセキュリティ
継承階層System.Web.VirtualPathUtility
スレッド セーフ
プラットフォームWindows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照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 から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
参照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 から継承されます。) |
プロテクト メソッド| 名前 | 説明 | |
|---|---|---|
| Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
| MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
参照Weblioに収録されているすべての辞書からVirtualPathUtilityを検索する場合は、下記のリンクをクリックしてください。
全ての辞書からVirtualPathUtility
を検索
- VirtualPathUtilityのページへのリンク
.gif)