1

「自分のマシンで動作する」状況があります。

を使用して、あるページから別のページにセッション値を渡す Web サイトがあります。

Session["foo"] = 'blah';

そして2ページ目に

var foo = Session["foo"];

foo は page2 に存在しません。

ページをトレースすると、元のページとは異なるセッション ID が使用されていることがわかりました。Session_start にブレークポイントを設定すると、リクエストごとにページが新しいセッションを開始しているように見えます。

これは私のマシンでは発生しません...そして、他のマシンで解決するために何ができるか考えていますか?

  • SessionState は InProc です

  • Page1.aspx と Page2.aspx はどちらも同じ Web サイトの一部であり、

  • プライバシーは、ターゲット マシン上のすべての Cookie を受け入れるように設定されています。

編集:自分のマシンとターゲットでの実行の違いは、ローカルでhttp://localhost/blahを使用し、XX_0001 が自分のマシンである他のクライアントからhttp://XX_0001/blahを使用していることです。

4

3 に答える 3

1

さて、私は解決策を見つけたと思います:

マシン名の _ が問題を引き起こしているようです。ホスト名はアンダースコアを許可していないようです: http://www.faqs.org/rfcs/rfc822.html

于 2009-04-02T13:56:17.583 に答える
0

私の最初の推測は、問題が発生しているコンピューターで Cookie が有効になっているかどうかを確認することです。他のブラウザなどでは動作しますか?

URL も変更する場合は、サイトが異なれば使用する Cookie も異なるため、同じサイトにいることを確認してください。

于 2009-04-01T15:55:17.480 に答える
0

文字列のインデックス セッションでは大文字と小文字が区別されると思いました。「foo」と「Foo」があります。それはタイプミスですか?

そうでなければ、クッキーも私の推測です。

于 2009-04-01T16:01:54.733 に答える