英語で読む

次の方法で共有


VirtualPathUtility クラス

定義

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

public static 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>

注釈

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

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

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

アプリケーションの仮想ディレクトリは、 プロパティと 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)

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

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください