サーバー ディスク上の Web サイトの物理パス: HttpRuntime.AppDomainAppPath
仮想プログラム パス: HttpRuntime.AppDomainAppVirtualPath
Request/HttpContext.Current などに関連するメソッドは、リクエスト コンテキストまたはページがある場合にのみ使用できます。つまり、リクエスト コンテキストがない場合、HttpContext.Current は常に使用可能です。
グローバル Cache オブジェクトへのアクセスにも同じことが当てはまります。
================================================= ================================
例: asp.net Web サイトのパスを出力します。
プライベートボイドresponseHtml()
...{
System.Text.StringBuilder sb = 新しい System.Text.StringBuilder();
sb.Append(string.Format("現在の時刻: {0}", Server.HtmlEncode(DateTime.Now.ToString())));
sb.Append("<br />");
sb.Append(string.Format("現在のリクエストの仮想パス: {0}",Server.HtmlEncode(Request.CurrentExecutionFilePath)));
sb.Append("<br />");
sb.Append(string.Format("現在のアプリケーションのルート ディレクトリ パスを取得します: {0}", Server.HtmlEncode(Request.ApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("現在のリクエストの仮想パス: {0}",Server.HtmlEncode(Request.FilePath)));
sb.Append("<br />");
sb.Append(string.Format("現在のリクエストの仮想パス: {0}",Server.HtmlEncode(Request.Path)));
sb.Append("<br />");
sb.Append(string.Format("現在実行中のアプリケーションのルート ディレクトリの物理ファイル システム パスを取得します: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
sb.Append(string.Format("要求された URL に対応する物理ファイル システム パスを取得します: {0}", Server.HtmlEncode(Request.PhysicalApplicationPath)));
sb.Append("<br />");
Response.Write(sb.ToString());
}
}
出力: 現在時刻: 2007-08-30 11:03:49
現在のリクエストの仮想パス: /aDirectory/Sample/responseHtml.aspx
現在のアプリケーションのルート ディレクトリ パスを取得します: /aDirectory
現在のリクエストの仮想パス: /aDirectory/Sample/responseHtml.aspx
現在のリクエストの仮想パス: /aDirectory/Sample/responseHtml.aspx
現在実行中のアプリケーションのルート ディレクトリの物理ファイル システム パスを取得します: E:Visual Studio 2005
要求された URL に対応する物理ファイル システム パスを取得します: E:Visual Studio 2005\aDirectory
ASP.NET プログラミングでは、多くの場合、Request を使用して URL に関する情報を取得する必要があります。
テスト URL アドレスはhttp://www.test.com/testweb/default.aspxで、結果は次のとおりです。
Request.ApplicationPath: /testweb
Request.CurrentExecutionFilePath: /testweb/default.aspx
Request.FilePath: /testweb/default.aspx
リクエストパス: /testweb/default.aspx
リクエスト.パス情報:
Request.PhysicalApplicationPath: E:WWWtestweb
Request.PhysicalPath: E:WWWtestwebdefault.aspx
Request.RawUrl: /testweb/default.aspx
Request.Url.AbsolutePath: /testweb/default.aspx
Request.Url.AbsoluteUri: http://www.test.com/testweb/default.aspx
リクエスト URL ホスト: www.test.com
Request.Url.LocalPath: /testweb/default.aspx
URL にパラメータがある場合にこれを使用できます。
HttpContext.Current.Request.Url.PathAndQuery.ToString()//
このページのアドレス: Request.URL;
前のページのアドレス:
リクエスト.URLReferrer
Request.ServerViables["http_referer"]
Request.RawUrl
Request.RawUrl.QueryAndPath
System.IO.Path.GetFileName(Request.FilePath.ToString())
HttpRequest 型は次のメンバーを公開します。
コンストラクター名の説明
HttpRequest インフラストラクチャ。 HttpRequest オブジェクトを初期化します。
先頭のメソッド名の説明
BinaryRead 現在の入力ストリームから指定されたバイト数のバイナリ読み取りを実行します。
Equals は、指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (オブジェクトから継承されます。)
Finalize を使用すると、オブジェクトは、ガベージ コレクションがオブジェクトを再利用する前に、リソースの解放や他のクリーンアップ操作の実行を試みることができます。 (オブジェクトから継承されます。)
GetHashCode は、特定の型のハッシュ関数として使用されます。 (オブジェクトから継承されます。)
GetType 現在のインスタンスの Type を取得します。 (オブジェクトから継承されます。)
MapImageCoowned は、受信した画像フィールドのフォーム パラメーターを適切な x 座標値と y 座標値にマップします。
MapPath がリロードされました。 リクエストされた URL の仮想パスを、現在のリクエストのサーバー上の物理パスにマップします。
MemberwiseClone は、現在のオブジェクトの浅いコピーを作成します。 (オブジェクトから継承されます。)
SaveAs HTTP リクエストをディスクに保存します。
ToString は、現在のオブジェクトを表す文字列を返します。 (オブジェクトから継承されます。)
ValidateInput は、Cookies、Form、および QueryString プロパティを通じてアクセスされるコレクションを検証します。
上位の属性名の説明
AcceptTypes クライアントがサポートする MIME 受け入れタイプの文字列配列を取得します。
AnonymousID このユーザーの匿名識別子が存在する場合は、それを取得します。
ApplicationPath サーバー上の ASP.NET アプリケーションの仮想アプリケーション ルート パスを取得します。
AppRelativeCurrentExecutionFilePath アプリケーション ルートへの仮想パスを取得し、アプリケーション ルートのチルダ (~) 表記を使用して相対パスを作成します (たとえば、"~/page.aspx" の形式)。
ブラウザ 要求側クライアントのブラウザ機能に関する情報を取得または設定します。
ClientCertificate 現在のリクエストのクライアント セキュリティ証明書を取得します。
ContentEncoding エンティティ本体の文字セットを取得または設定します。
ContentLength は、クライアントによって送信されるコンテンツの長さをバイト単位で指定します。
ContentType 受信リクエストの MIME コンテンツ タイプを取得または設定します。
Cookies クライアントから送信された Cookie のコレクションを取得します。
CurrentExecutionFilePath 現在のリクエストの仮想パスを取得します。
FilePath 現在のリクエストの仮想パスを取得します。
Files クライアントによってマルチパート MIME 形式でアップロードされたファイルのコレクションを取得します。
Filter 現在の入力ストリームを読み取るときに使用するフィルターを取得または設定します。
Form フォーム変数のコレクションを取得します。
Headers HTTP ヘッダー コレクションを取得します。
HttpMethod クライアントが使用する HTTP データ転送メソッド (GET、POST、HEAD など) を取得します。
InputStream 受信 HTTP エンティティ本体の内容を取得します。
IsAuthenticated リクエストが認証されたかどうかを示す値を取得します。
IsLocal 要求がローカル コンピューターから送信されたかどうかを示す値を取得します。
IsSecureConnection HTTP 接続がセキュア ソケット (つまり HTTPS) を使用するかどうかを示す値を取得します。
Item Cookies、Form、QueryString、または ServerVariables コレクションから指定されたオブジェクトを取得します。
LogonUserIdentity 現在のユーザーの WindowsIdentity タイプを取得します。
Params QueryString、Form、ServerVariables、および Cookies 項目の組み合わせコレクションを取得します。
Path は、現在のリクエストの仮想パスを取得します。
PathInfo URL 拡張子を持つリソースの追加パス情報を取得します。
PhysicalApplicationPath 現在実行中のサーバー アプリケーションのルート ディレクトリへの物理ファイル システム パスを取得します。
PhysicalPath 要求された URL に対応する物理ファイル システム パスを取得します。
QueryString HTTP クエリ文字列変数のコレクションを取得します。
RawUrl 現在のリクエストの元の URL を取得します。
RequestType クライアントが使用する HTTP データ送信メソッド (GET または POST) を取得または設定します。
ServerVariables Web サーバー変数のコレクションを取得します。
TotalBytes 現在の入力ストリームのバイト数を取得します。
Url 現在リクエストされている URL に関する情報を取得します。
UrlReferrer 現在の URL にリンクされている、クライアントによって要求された最後の URL に関する情報を取得します。
UserAgent クライアント ブラウザの元のユーザー エージェント情報を取得します。
UserHostAddress リモート クライアントの IP ホスト アドレスを取得します。
UserHostName リモート クライアントの DNS 名を取得します。
UserLanguages クライアント言語設定のソートされた文字列配列を取得します。
1.Request.ApplicationPath -> 現在のアプリケーションのディレクトリ。作成者が jsp にアクセスしたことがない場合、ApplicationPath は現在のアプリケーションに対応するディレクトリを参照することがわかります。 application) - たとえば、私のサーバー上に 1 つあります。両方の Web アプリケーションのドメイン名は MySite.com で、1 つはディレクトリ MySite.com/1/ にマップされ、もう 1 つはhttp://MySite.com/2/を指します。
MySite.com/1/ は最初のアプリケーションの ApplicationPath です。同様に、MySite.com/2/ は 2 番目のアプリケーションの ApplicationPath です。
2.Request.FilePath -> URL http://MySite.com/1/index.html/pathinfoなどの iis の仮想ディレクトリに対応します
ファイルパス = /1/index.html
3.Request.Path -> 現在のリクエストの仮想パス
Path は、FilePath の末尾と PathInfo の末尾を連結したものです。たとえば、URL http://MySite.com/1/index.html/pathinfo
次に、パス = /1/index.html/pathinfo
4.Request.MapPath(string url) -> URL を iis 上の仮想ディレクトリにマッピングします。このディレクトリは、Server.MapPath と比較すると、次のようなパスが含まれないことがわかります。 c:/ は相対パスです (比較される Server.MapPath は絶対パスです)。
5.Server.MapPath(string url)->URL をサーバー上の物理パスにマップします。たとえば、アプリケーションがc:/iis/MySite にあると仮定します。その場合は c :/iis/MySite/1/index.html になります。
Requst.FilePath は、現在のリクエストの仮想パスを取得します。 FilePath プロパティには PathInfo トレーラーが含まれていません。たとえば、URL http://www.contoso.com/virdir/page.html/tailの場合、FilePath 値は /virdir/page.html です。
================================================= ================================================= ===========================
Request.Path は、現在のリクエストの仮想パスを取得します。 Path は、FilePath の末尾と PathInfo の末尾を連結したものです。たとえば、URL http://www.contoso.com/virdir/page.html/tailの場合、パスは /virdir/page.html/tail です。
================================================= ================================================= ===========================
Request.MapPath メソッドは、指定された仮想パスを物理パスにマップします。
次のコード例では、MapPath メソッドを使用して、仮想パスをサーバー上の完全修飾物理パスに変換します。この例は 2 つの部分で構成されます。
.aspx ページはパスをマップし、ファイルを読み取り、読み取り操作の結果を表示します。
渡されたすべての文字を大文字に変更する UpperCaseFilterStream クラス。
例の最初の部分では、MapPath メソッドを使用して仮想パスを完全修飾物理パスに変換する方法を示します。その後、この物理パスは、ファイルの内容を含む StreamReader オブジェクトに渡されます。次に、Write メソッドを呼び出して、ファイルの内容をページに表示します。 Filter プロパティは、ページに表示されるテキストをすべて大文字にするフィルターを応答フローにアタッチするために使用されます。
-