ダウンタウン パチンコk8 カジノ[ASP.NET]クライアントからリクエストされたURLを取得するには?仮想通貨カジノパチンコツイン ドラゴン サイド ランプ
ダウンタウン パチンコk8 カジノ[ASP.NET]クライアントからリクエストされたURLを取得するには?仮想通貨カジノパチンコツイン ドラゴン サイド ランプ
東洋 経済 書籍k8 カジノ
48 秒 物語 信頼 度 スロット
連載目次
HttpRequestクラス(System.Web名前空間)は、クライアントから要求されたURL(リクエストURL)を取得するための、さまざまなプロパティを提供している(下表を参照)。リクエストURLはアクセス・ログを記録するようなケース、あるいは、ページへのアクセス制御を監視するようなケースなど、意外と多くの用途で利用できる情報だ。
「TIPS:[ASP.NET]アプリケーション共通のロギングを行うには?(HTTPモジュール編)」「TIPS:[ASP.NET]ページ単位にユーザーのアクセス可否を制御するには?」などでもリクエストURL情報を利用しているので、具体的な用途については、こちらも併せて参照してみてほしい。
次のサンプル・コードでは、上に挙げた各プロパティを利用して、リクエストURLを取得している。
<%@ Page ContentType="text/html" Language="C#" %><script runat="Server">Hashtable objTbl = null;void Page_Load(Object sender, EventArgs e){ // Hashtableクラスに各プロパティ名と値をセットし、 // DataGridコントロールにバインド objTbl = new Hashtable(); objTbl.Add("ApplicationPath", Request.ApplicationPath); objTbl.Add("CurrentExecutionFilePath", Request.CurrentExecutionFilePath); objTbl.Add("FilePath", Request.FilePath); objTbl.Add("Path", Request.Path); objTbl.Add("PathInfo", Request.PathInfo); objTbl.Add("PhysicalApplicationPath", Request.PhysicalApplicationPath); objTbl.Add("PhysicalPath", Request.PhysicalPath); objTbl.Add("RawUrl", Request.RawUrl); objTbl.Add("Url", Request.Url); DataBind();}</script><html><head><title>リクエストURL</title><body><h1>リクエストURL</h1><hr /><form runat="Server"> <asp:DataGrid id="objGrd" runat="Server" ShowHeader="False" DataSource="<%# objTbl %>" AutoGenerateColumns="False" CellPadding="2"> <ItemStyle BackColor="#FFEEEE" /> <AlternatingItemStyle BackColor="#FFDDDD" /> <Columns> <asp:BoundColumn DataField="Key" /> <asp:BoundColumn DataField="Value" /> </Columns> </asp:DataGrid></form></body></html
リクエストURLを取得するC#のサンプル・プログラム(requestUrl_cs.aspx)
<%@ Page ContentType="text/html" Language="VB" %><script runat="Server">Dim objTbl As HashtableSub Page_Load(sender As Object, e As EventArgs) ' Hashtableクラスに各プロパティ名と値をセットし、 ' DataGridコントロールにバインド objTbl=New Hashtable() objTbl.Add("ApplicationPath",Request.ApplicationPath) objTbl.Add("CurrentExecutionFilePath",Request.CurrentExecutionFilePath) objTbl.Add("FilePath",Request.FilePath) objTbl.Add("Path",Request.Path) objTbl.Add("PathInfo",Request.PathInfo) objTbl.Add("PhysicalApplicationPath",Request.PhysicalApplicationPath) objTbl.Add("PhysicalPath",Request.PhysicalPath) objTbl.Add("RawUrl",Request.RawUrl) objTbl.Add("Url",Request.Url) DataBind()End Sub</script><html><head><title>リクエストURL</title><body><h1>リクエストURL</h1><hr /><form runat="Server"> <asp:DataGrid id="objGrd" runat="Server" ShowHeader="False" DataSource="<%# objTbl %>" AutoGenerateColumns="False" CellPadding="2"> <ItemStyle BackColor="#FFEEEE" /> <AlternatingItemStyle BackColor="#FFDDDD" /> <Columns> <asp:BoundColumn DataField="Key" /> <asp:BoundColumn DataField="Value" /> </Columns> </asp:DataGrid></form></body></html>
リクエストURLを取得するVB.NETのサンプル・プログラム(requestUrl_vb.aspx)
上記のサンプル・コードを実行したのが、次の画面である。
サンプル・プログラムの実行結果http://localhost/netIns/requestUrl_vb.aspx/sample?key=123というURLでアクセスした場合のサンプル・プログラムの実行結果。
各プロパティを区別するポイントとして、以下の4点が挙げられる。
パスの種類(アプリケーションパス/ファイルパス/追加パス)物理パスか、仮想パスかクエリ情報(?キー名=値)を含むか追加パス情報を含むか
追加パス情報とは、リソースの位置を表すパスそのものとは少々種類の異なる――むしろ「付随的な入力パラメータ」ともいうべき情報だ。本稿の例の場合は「/sample」の部分のことをいう。プログラム・コードから利用できるパラメータという意味ではクエリ情報にも似ているが、クエリ情報が「?キー名=値」のような、実際のパスとは異なるフォーマットで記述しなければならないのに対し、追加パス情報は、その名のとおり、あたかもパスの一部であるかのように、パラメータ情報を記述できるという違いがある。
以上の観点で、いま一度、おのおののプロパティを分類してみよう。
サンプル・コードの実行結果と併せてみると、それぞれのプロパティの役割の違いがだんだん見えてくるのではないだろうか。ただ、比較表からだけでは分からないのが、CurrentExecutionFilePathプロパティとFilePathプロパティの違いだ。この2つのプロパティの違いが出てくるのは、Server.Executeメソッド、Transferメソッドを利用した場合だ。これらのメソッドを利用した場合にも、FilePathプロパティは常に「最初に要求された」URLを返すが、CurrentExecutionFilePathプロパティは「転送/インクルード先ページ」のURLを返す。
カテゴリ:Webフォーム 処理対象:URL使用ライブラリ:HttpRequestクラス(System.Web名前空間)関連TIPS:[ASP.NET]アプリケーション共通のロギングを行うには?(HTTPモジュール編)関連TIPS:[ASP.NET]ページ単位にユーザーのアクセス可否を制御するには?
■この記事と関連性の高い別の.NET TIPSアプリケーション設定情報はどこに保存すべきか?パス文字列からファイル名部分を取り出すには?ClickOnceアプリの起動時にパラメータを渡すには?WebClientクラスでGETメソッドによりクエリ文字列を送信するには?8.3形式の短いパスを長いパスに変換するには?
「.NET TIPS」
仮想通貨カジノパチンコ本日 ラグビー