VirtualPathUtility クラス

定義

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

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

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

<%@ 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 プロジェクト パス」を参照してください。

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

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

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

Note

クラスは 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)

指定されたアプリケーション パスを使用して、仮想パスをアプリケーション相対パスに変換します。

適用対象

こちらもご覧ください