- - PR -
絶対パスでの遷移後のセッションの保持について
1
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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サイトはすでに動いているものですので、 それがなぜ、動いているのかが分かりません。 何か、ご存知の方がいらっしゃいましたら、ご教授のほどよろしくお願いいたします。 | ||||||||||||||||||||||||
|
投稿日時: 2007-11-29 17:32
1.そのサイトの URL を教えてください。
2.絶対パスはどのように記述していますか? (1). http://***/application/aaa/***.aspx (2). /aaa/***.aspx (1) の場合ドメインが変わってたりしていませんか? 3.クッキーレスセッションじゃないですよね? _________________ かるあ のメモ と スニペット | ||||||||||||||||||||||||
|
投稿日時: 2007-11-29 18:26
かるあさん、御返事ありがとうございます。
すみません、そのページを消してしまい、 再度、探したのですが、ありませんでした。 もしかしたら、クッキーレスの記事をクッキーレスの部分を 飛ばしてしまって、読み違えたのかもしれません。
(2)です。 (aaaはIIS上で既定のWEBサイトの直下に登録されてあります。)
はい、違います。 WEB.CONFIG上でcookieless="false" にしています。 以上です。 | ||||||||||||||||||||||||
|
投稿日時: 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 _________________ かるあ のメモ と スニペット | ||||||||||||||||||||||||
|
投稿日時: 2007-11-29 21:24
あっあとはセッション関連だとこんなのがあったかな。
コンピュータ名とIPアドレスで何か変わりますか? _________________ かるあ のメモ と スニペット | ||||||||||||||||||||||||
|
投稿日時: 2007-11-30 11:09
どこかで、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クッキーを渡しているか? | ||||||||||||||||||||||||
|
投稿日時: 2007-12-01 21:25
すみません、遅くなりました。
かるあさん、todoさんお返事ありがとうございます。 >かるあさん
システムのプロパティのネットワークIDタブで確認しましたが、 -(ハイフン)は使ってしますが、_(アンダーバー)は使っておりませんでした。
window.openはセッション保存後に使用していました。
話がそれるかもしれませんが、この中で、
とありましたが、なぜ想像できるのでしょうか。 もしくは、WEBアプリとはそういうものなのでしょうか。
例) http://test-srv/aaa/bbb.aspx http://192.168.1.100/aaa/bbb.aspx の両方で試してみましたが、どちらもだめでした。 >todoさん
○クライアント側 fiddlerというのを落としてみたところ、 ASP.NET_sessionidに値が振られていました。 ○サーバー側 サーバーのほうはまだ見きれていませんが、 セッション情報の内容を見ることができましたので、 追ってみたいと思います。 以上です。 |
1