- PR -

絶対パスでの遷移後のセッションの保持について

1
投稿者投稿内容
るぷ犬
常連さん
会議室デビュー日: 2004/11/10
投稿数: 46
投稿日時: 2007-11-29 16:40
いつもお世話になっております、です。


OS     :WINDOWS 2000
WEBサーバー:IIS 5.0
環境     :ASP.NET 1.0
言語     :C# 1.0



現在、作成中のWEBサイト(既存修正)があります。


INDEX.ASPXよりログインし、TOP.ASPXに遷移します。


TOP.ASPXではフレームが切られており(フレーム名はMENUとCONTENTS)、
MENUフレームからリンクを押下すると
CONTENTSフレームの内容が変わる(表示されるASPXが変更される)
というものです。


TOP.ASPXに遷移する時に、INDEX.ASPX.CSでデータをセッションに保存するのですが、
そのセッションをCONTENTSフレームのASPXファイル(のCSファイル)上で取得ができません。



いろいろと調べた結果、MENUフレームのリンクは絶対パスになっており、
それを相対パスにすると、セッションが受け継がれるようで、
そのような記述がされているWEBサイトも見つけました。


実際にやってみると、相対パスの時はそれまで、まったく表示されなかったWEBページが
表示されるようになりました。


しかし、疑問なのは現在作成しているWEBサイトはすでに動いているものですので、
それがなぜ、動いているのかが分かりません。


何か、ご存知の方がいらっしゃいましたら、ご教授のほどよろしくお願いいたします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-11-29 17:32
引用:

るぷ犬さんの書き込み (2007-11-29 16:40) より:

いろいろと調べた結果、MENUフレームのリンクは絶対パスになっており、
それを相対パスにすると、セッションが受け継がれるようで、
そのような記述がされているWEBサイトも見つけました。



1.そのサイトの URL を教えてください。

引用:

実際にやってみると、相対パスの時はそれまで、まったく表示されなかったWEBページが
表示されるようになりました。
しかし、疑問なのは現在作成しているWEBサイトはすでに動いているものですので、
それがなぜ、動いているのかが分かりません。



2.絶対パスはどのように記述していますか?
(1). http://***/application/aaa/***.aspx
(2). /aaa/***.aspx
(1) の場合ドメインが変わってたりしていませんか?

3.クッキーレスセッションじゃないですよね?
_________________
かるあ のメモスニペット
るぷ犬
常連さん
会議室デビュー日: 2004/11/10
投稿数: 46
投稿日時: 2007-11-29 18:26
かるあさん、御返事ありがとうございます。

引用:

1.そのサイトの URL を教えてください。



すみません、そのページを消してしまい、
再度、探したのですが、ありませんでした。

もしかしたら、クッキーレスの記事をクッキーレスの部分を
飛ばしてしまって、読み違えたのかもしれません。


引用:

2.絶対パスはどのように記述していますか?
(1). http://***/application/aaa/***.aspx
(2). /aaa/***.aspx
(1) の場合ドメインが変わってたりしていませんか?



(2)です。
(aaaはIIS上で既定のWEBサイトの直下に登録されてあります。)


引用:

3.クッキーレスセッションじゃないですよね?



はい、違います。
WEB.CONFIG上でcookieless="false" にしています。


以上です。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-11-29 21:20
うーん、何でしょうね。
環境がないのでちょっと確かめられませんが。。。

他に考えられることとすると、
相対パスでセッションの受け渡しができるようになったということで、選択肢から省いていたのですが、コンピュータ名にアンダーバー"_"を使用していたりしないですよね。

昔の投稿をみるとこんなのがありましたね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27958&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19057&forum=7&4

_________________
かるあ のメモスニペット
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-11-29 21:24
あっあとはセッション関連だとこんなのがあったかな。

コンピュータ名とIPアドレスで何か変わりますか?
_________________
かるあ のメモスニペット
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2007-11-30 11:09
引用:

TOP.ASPXに遷移する時に、INDEX.ASPX.CSでデータをセッションに保存するのですが、
そのセッションをCONTENTSフレームのASPXファイル(のCSファイル)上で取得ができません。



どこかで、SessionIDが途切れたとか。

以下、クライアント側とサーバ側でSessionIDの流れを調査する方法

●サーバ側
[ASP.NET]ページのトレース情報を出力するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/040trace/trace.html

→ページ遷移で、SessionIDが途切れていないか?
→SessionIDクッキーを受け取っているか?
→Trace.WriteLineでSession変数を表示させる。どこかで消えていないか?

●クライアント側
Webアクセスをモニタする
http://www.atmarkit.co.jp/fwin2k/win2ktips/479httphview/httphview.html

→リクエストヘッダで、SessionIDクッキーを渡しているか?
るぷ犬
常連さん
会議室デビュー日: 2004/11/10
投稿数: 46
投稿日時: 2007-12-01 21:25
すみません、遅くなりました。
かるあさん、todoさんお返事ありがとうございます。



>かるあさん


引用:

他に考えられることとすると、
相対パスでセッションの受け渡しができるようになったということで、選択肢から省いていたのですが、
コンピュータ名にアンダーバー"_"を使用していたりしないですよね。



システムのプロパティのネットワークIDタブで確認しましたが、
-(ハイフン)は使ってしますが、_(アンダーバー)は使っておりませんでした。


引用:

昔の投稿をみるとこんなのがありましたね。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27958&forum=7


window.openはセッション保存後に使用していました。


引用:

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19057&forum=7&4


話がそれるかもしれませんが、この中で、
引用:

("絶対位置"で指定した場合に,セッションが別になる現象は想像できるのですが)


とありましたが、なぜ想像できるのでしょうか。
もしくは、WEBアプリとはそういうものなのでしょうか。


引用:

コンピュータ名とIPアドレスで何か変わりますか?


例)
http://test-srv/aaa/bbb.aspx
http://192.168.1.100/aaa/bbb.aspx

の両方で試してみましたが、どちらもだめでした。






>todoさん


引用:


どこかで、SessionIDが途切れたとか。

以下、クライアント側とサーバ側でSessionIDの流れを調査する方法

●サーバ側
[ASP.NET]ページのトレース情報を出力するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/040trace/trace.html

→ページ遷移で、SessionIDが途切れていないか?
→SessionIDクッキーを受け取っているか?
→Trace.WriteLineでSession変数を表示させる。どこかで消えていないか?

●クライアント側
Webアクセスをモニタする
http://www.atmarkit.co.jp/fwin2k/win2ktips/479httphview/httphview.html

→リクエストヘッダで、SessionIDクッキーを渡しているか?





○クライアント側
fiddlerというのを落としてみたところ、
ASP.NET_sessionidに値が振られていました。


○サーバー側
サーバーのほうはまだ見きれていませんが、
セッション情報の内容を見ることができましたので、
追ってみたいと思います。


以上です。
1

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