ウェブアプリケーションのURIから、そのURIが示すサーバの物理パスを取得する

ASP.NETアプリケーションで、WebアプリケーションのURIから、そのURIが示すサーバーの物理パスを取得したいことがあります。こうした場合には、Server.MapPathメソッドを用いると、サーバーの物理パスを取得することができます。

以下のコード例は、Webページにアクセスするとそのウェブアプリのルートを示す物理パスをLabelに表示します。

protected void Page_Load(object sender, EventArgs e)
{
  Label1.Text = Server.MapPath("/");
}


実行結果

開発環境

"D:\Develop-local\C sharp\ServerMapPathApp"にソリューションファイル、"D:\Develop-local\C sharp\ServerMapPathApp\ServerMapPathApp"にプロジェクトファイル、aspxファイルを配置して実行した場合、ラベルには

D:\Develop-local\C sharp\ServerMapPathApp\ServerMapPathApp\

が表示されます。

サーバー環境

"C:\inetpub\wwwroot\smp\"にaspxファイルを配置し、そのaspxファイルにアクセスした場合、ラベルには

c:\intetpub\wwwroot\

が表示されます。
ルート"/"は配置したWebアプリケーションのルートではなく、サーバーのルートになることがわかります。

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2010-01-28
Copyright © 1995–2025 iPentec all rights reserverd.