- PR -

【ASP.NET】セッション情報が引き渡せない。。。

1
投稿者投稿内容
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2005-04-05 16:48
Hruka@そこそこ経験者です。

よくわからない不具合に頭を悩ましてます。

画面遷移時にセッションオブジェクトを利用して、情報の引継ぎを行って
いるのですが、デバッグ環境にて問題なくのですが、実行環境だとうまく
いきません。何が問題なのか検討がつかず、先に進まなくなってしまいました。

どなたか御存知のかた、心当たりの方、ご指南ください。

・Pageディレクティブは以下のようになっています。
 EnableSessionState="True" enableViewState="True" %>

・WebConfigのセッション関係の設定は以下のようになっています。
 <sessionState mode="InProc" ・・・ cookieless="false"/>

・プログラム
 WebPage1からWebPage2に画面遷移するのに、画面遷移するイベントで、
 Session("UserInfo") = xxxxx と渡してます。

 WebPage2のPage_Load時に、以下のようにして受け取っています。
 Dim ss as ユーザ型
 ss = CType(Session("UserInfo"),ユーザ型)


【環境】
IIS5.0/Win2000AdvancedServer
ASP.NET(VB.NET)
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-04-05 16:51
デバッグ環境と実行環境は何が違いますか?
Sessionに設定した時とSessionから値を取得する時で
SessionIDに変化はありませんか?
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2005-04-05 17:00
デバッグ環境と実行環境は何が違いますか?
→特に何も違いはないです。※気づいていないのかもしれませんが。
 実行環境といっても、同一端末で単体テストを行っていますし。。。

Sessionに設定した時とSessionから値を取得する時で
SessionIDに変化はありませんか?
→今調べましたが、同一SessionIDでした。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-04-05 17:39
デバッグ環境、実行環境は同一マシンで
VisualStudioからデバッグで起動するか、IEで直接起動するかの違いということでしょうか?
VisualStudioから起動するとホスト名はlocalhostになります。
IEから起動するときは、マシン名を使用していませんか?

ちなみにページ遷移はResponse.Redirectを使用していますか?
その際、どのように記述してますか?
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2005-04-05 17:45
たびたび返答ありがとうございます。

・デバッグ環境、実行環境は同一マシンで VisualStudioからデバッグ
 で起動するか、IEで直接起動するかの違いということでしょうか?
 →はい。おっしゃる通りです。

・VisualStudioから起動するとホスト名はlocalhostになります。
 IEから起動するときは、マシン名を使用していませんか?
 →http://localhost/・・・.aspx で実行しています。

・ちなみにページ遷移はResponse.Redirectを使用していますか?
 その際、どのように記述してますか?
 →Page.Response.Redirect("login.aspx")
 このような記述の仕方をしています。

 単に、セッションオベジェクトの名前が違っているだけなのかとも疑ったんですが
 そうでもなかったです。トホホです。。。

くま
会議室デビュー日: 2005/02/25
投稿数: 4
投稿日時: 2005-04-06 12:00
Trace.Write()等でSessionの中身を追跡してみてはいかがでしょう。
それにしても不思議ですね。
1

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