これは奇妙な問題で、何が起こっているのかわかりません。私はIIS7と.net 4.0を使用しています。ブラウザウィンドウを閉じるとAsp.Netセッション変数が破棄されませんか?
ブラウザが閉じられた後、セッションCookieがクライアントに残らないように見えました。別の奇妙なのは、IEを閉じてFireFoxを開くことができ、セッションもそこにあるということです。それはどうですか?私は自分の環境がどのように設定されているのかと考えています。 InProc用にセッションを設定し、IISでCookieを使用しています。 IIS7では何が違うのですか?
更新:私は自分のアプリケーションプールに統合モードを使用しています。 Sever2003上で実行されている.net 3.5とiis6を使って作成した古いサイトを見ました。私はサイトにログインすることができ、それは私のためのセッション変数を作成します。私はFireFoxに行き、同じサイトを開きます。ログインする必要があります(セッションが存在する場合、私のアプリケーションはあなたのprfileにあなたを連れて行きます)。 IEを終了してIEを再起動してから、自分のサイトに戻ったら、もう一度ログインする必要があります。 iis7と私の現在のアプリケーションで起こっていることは、かなり奇妙です。私のセッションの取り方の唯一の違いは、現在のハンドラをPageオブジェクトにキャストしているときに変数を取得していることです。(ページ)HttpContext.Current.Handler
更新: HttpContext.Current.Handlerを現在のページオブジェクトにキャストすることと関係しています。他のすべてのクラスが作成したUserセッションオブジェクトを取得するための中心点を参照できるように、プロパティを配置したい設定ファイルがあります。 HttpContext.Current.sessionは常にnullで、誰かがHttpContext.Current.Handlerのキャストを提案していました。セッションvaraibleが作成されているかどうかを確認し、そうでなければ作成する単純なページを作成しました。それから私は値を印刷します。ブラウザを閉じると、セッションは終了します。それで、それは働いています。このメッセージで私が元々持っていたコードは本当にバックボタンだったが、Andrewがそれを指摘してくれたことに感謝する必要はない。だから私はそれが明確になるまでHnadlerから引き出されたセッションがいつも利用可能であるのは明らかではないと思います。
そのコードはCookieやセッションとは関係ありません。 –
私が知っているのは、セシオンクッキーをクライアントに残さないようにするために "SEEMED"だったということでした。 – DDiVita
私が述べたように、そのコードはCookieやセッションとはまったく関係ありません。この質問には全く意味がなく、削除する必要があります。 –