- PR -

【ASP.NET】Application_AuthenticateRequestでSessionを触る

1
投稿者投稿内容
ロンロン
ベテラン
会議室デビュー日: 2004/01/08
投稿数: 58
お住まい・勤務地: TOKYO
投稿日時: 2005-11-18 23:48
ASP.NET C#

こんばんわ。
Global.asaxクラスのApplication_AuthenticateRequestメソッドにて
下記のようにSessionを触ろうとしているのですが、
常にNullになってしまっています。(Sessionには事前に値を格納済)


#########################################
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
if(app.Context.Session != null
&& app.Context.Session["事前に設定済のセッションキー"] != null)
{
//セッションから値を取り出す等、本来やりたい処理
}
}
#########################################


AuthenticateRequestメソッドの時点ではセッションを触ることは無理なのでしょうか?
ちなみにApplication_PreRequestHandlerExecuteメソッドでは
同様の処理でsenderからセッションを取得する事ができました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-20 20:44
まずはリファレンス
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebhttpapplicationclasstopic.asp

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwebhttpapplicationmemberstopic.asp

読み比べればわかると思うけど、セッション情報などが復元されるのが AcquireRequestState イベント。AuthenticateRequest イベント が発生するのはそれより前なので、この時点ではセッション情報は復元されていない、ということ。
___________________________________________________________________
□ written by Jitta on 2005/11/20
□ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006

_________________
検索のコツ質問のコツ



やりたいことは
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26167&forum=7&
こっちとセット?

[ メッセージ編集済み 編集者: Jitta 編集日時 2005-11-20 20:58 ]
ロンロン
ベテラン
会議室デビュー日: 2004/01/08
投稿数: 58
お住まい・勤務地: TOKYO
投稿日時: 2005-11-21 00:20
>セッション情報などが復元されるのが AcquireRequestState イベント。
>AuthenticateRequest イベント が発生するのはそれより前なので、
>この時点ではセッション情報は復元されていない、ということ。
ぅぅやっぱりそうですか。
ブツの結果とマニュアルを自分なりに解釈するかぎりそうとしか見えなかったのですが、
何か誤解していないか確認の意味を込めて投稿しました。

Jittaさん毎度毎度レスつけてもらってありがとうございます。
むむむ、、、困りました。

#あっちとセットですが、問題点を切り分けたかったので別立てに。
#本来やりたいことはあっちに追記しておきます。
1

スキルアップ/キャリアアップ(JOB@IT)