クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
以前のバージョン
.NET Framework SDK 2.0
System.Web
VirtualPathUtility クラス
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
VirtualPathUtility クラス
共通仮想パス操作に使用するユーティリティ メソッドを提供します。

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

Visual Basic (宣言)
Public NotInheritable Class VirtualPathUtility
Visual Basic (使用法)

    
C#
public static class VirtualPathUtility
C++
public ref class VirtualPathUtility abstract sealed
J#
public final class VirtualPathUtility
JScript
public final class VirtualPathUtility
XAML
適用できません。

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

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

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

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

メモメモ :

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

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

Visual Basic
<%@ 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>
C#
<%@ 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>
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : LinkDemand; アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)要求値 : InheritanceDemand; アクセス許可値 : Minimal
System.Object
  System.Web.VirtualPathUtility
この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

.NET Framework

サポート対象 : 3.0,2.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker