zukucode
主にWEB関連の情報を技術メモとして発信しています。

ASP.NET 外部クラスでセッションやリクエスト情報を取得する

Webページ(aspx)のコードビハインドでは以下のように、普通にセッションやリクエスト情報を取得できます。

WebForm1.aspx.vb
Session("foo")
Request.QueryString("huga")

これを外部クラスで行いたい場合は同じようにするとエラーになってしまいます。

Class1.vb
'エラーになる
Session("foo")
Request.QueryString("huga")

以下のようにHttpContext.Currentをつけると同じように参照できるようになります。

Class1.vb
HttpContext.Current.Session("foo")
HttpContext.Current.Request.QueryString("bar")

ASP.NET 外部クラスでページオブジェクトを取得すると同様,HttpContext.Currentを使用します。

コードビハインド以外のクラスでセッションなどのWEB特有の情報を取得するにはちょっとした工夫が必要です。


関連記事