- PR -

セッションIDが保持できないのですが

投稿者投稿内容
もも
会議室デビュー日: 2005/06/24
投稿数: 4
投稿日時: 2005-06-24 01:21
当方、サーバー:Windows2003+IIS クライアント(開発):WindowsXPpro+WebMarixで開発をしております。
WebMatrixで開発中は、MatrixServerで確認を行っており、ページ遷移してもSessionIdが保持できているのですが、サーバーのIISで動作させたところ、ページ遷移で毎回SessionIdが変わってしまいます。
一通りの文献は調べたつもりなのですが、どうしても判りませんでしたので、わかる方がおられましたらお教え願えないでしょうか?

宜しくお願いいたします。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-06-24 07:57
引用:

一通りの文献は調べたつもりなのですが、どうしても判りませんでしたので、わかる方がおられましたらお教え願えないでしょうか?


何を調べて、何をやりましたか。

_________________
たつごろー
codeseek
こみゅぷらす
もも
会議室デビュー日: 2005/06/24
投稿数: 4
投稿日時: 2005-06-24 08:14
本屋さんに置いてあるASP.NET関連の本を全てを10冊ほど見たのですが、SessionId及びセッション変数が保持されますと記述されているだけでした。
現象の詳細は、
[test01.aspx]
<%@ Page Language="VB" %>
<script runat="server">

Sub Button1_Click(sender As Object, e As EventArgs)
If IsDbNull(Session("seId")) Then
Session.Add("seId", Session.SessionID)
Else
Session.Item("seId") = Session.SessionID
End If
Label1.Text = "SessionID:[" + Session.SessionID + "]"
Label2.Text = "Session.seId:[" + Session("seId") + "]"
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Label id="Label1" runat="server"></asp:Label>
<br />
<asp:Label id="Label2" runat="server"></asp:Label>
<br />
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="ok"></asp:Button>
<a href="test02.aspx">Next</a>
</form>
</body>
</html>

[test02.aspx]
<%@ Page Language="VB" %>
<script runat="server">

Sub Button1_Click(sender As Object, e As EventArgs)
Label1.Text = "SessionID:[" + Session.SessionID + "]"
Label2.Text = "Session.seId:[" + Session("seId") + "]"
End Sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<asp:Label id="Label1" runat="server"></asp:Label>
<br />
<asp:Label id="Label2" runat="server"></asp:Label>
<br />
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="ok"></asp:Button>
<a href="test01.aspx">Next</a>
</form>
</body>
</html>

とした際に、MatrixServerで動作させた場合、またはサーバー上のIEで動作させた場合には、同一のSessionIdが表示され、セッション変数も保持されているのですが、クライアントのIEからIISを見に行くと、SessionIdが変わり、セッション変数もクリアされています。
何から調べたらよいか判らない状態でしたので、お力添えを頂けたらと思い投稿させていただきました。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-06-24 09:13
Cookieを無効にしているとか、パーソナルファイアウォールやProxyで送信情報の一部が失われているとか、そういう事じゃないんですかね。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-06-24 09:16
Cookieを無効にしてるだけということはないですか?
_________________
たつごろー
codeseek
こみゅぷらす
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2005-06-24 09:38
皆さんも仰っていますがWebクライアントでの
Cookieの受け入れを拒否しているのではないでしょうか?

とりあえずトレースを有効にしてみてはどうでしょうか?

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

_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-06-24 09:52
自分のPCにIPアドレスでつないでみてください。

たとえば、こんな感じ。
//192.168.11.4/b050624BSession/Test01.aspx
192.168.11.4を自分PCのアドレスに変更
b050624BSessionを自分の作ったアプリケーション名に変更
(投稿時にリンク化するのを避けるためにhttp:を削除しました)

どうなった?


_________________
たつごろー http://www.codeseek.net



[ メッセージ編集済み 編集者: たつごろー 編集日時 2005-06-24 09:56 ]
もも
会議室デビュー日: 2005/06/24
投稿数: 4
投稿日時: 2005-06-24 11:02
Cookieは、クライアントのMatrixServer上でクライアントのIEで動作しておりますので問題無いかと思います。IEの設定も再度確認いたしました。
IPアドレスで繋いでみたところ、うまくいくようになりました。
ということは、DNSかWINSの設定がおかしいと考えられますでしょうか?

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