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ファイルを配置して実行した場合、ラベルには
が表示されます。
"C:\inetpub\wwwroot\smp\"にaspxファイルを配置し、そのaspxファイルにアクセスした場合、ラベルには
が表示されます。
ルート"/"は配置したWebアプリケーションのルートではなく、サーバーのルートになることがわかります。