8

クライアント用の現在の Web アプリケーションを使用していますが、セッション変数が消えるという問題が発生しています。できる限りシナリオの適切な説明を設定しようとします。ユーザーがリソース ファイルに格納されている文字列を変更できるようにするために作成したページ以外のページでは発生しません。

いつ表示されるか: ユーザーがページに移動し、リストからリソース ファイルを選択して、最初に [編集] をクリックしたとき。ページはファイルをグリッドビューにロードし、編集できるようにします。この時点で、セッション変数は保存され、すべてのポストバックで正しくリロードされます。ここで、下部にある保存ボタンをクリックして、リソース ファイルをファイル システム (App_LocalResources) に書き込みます。彼らはリストから新しいファイルを選択し、それを読み込もうとしますが、今回はセッション変数が消去され、ユーザー情報がわからないためログイン ページにリダイレクトされます。

追加の詳細:

これは、ユーザーが保存ボタンをクリックしたときにのみ発生し、それによってリソース ファイルに書き込む手順が呼び出されます。

App_LocalResources にあるリソース ファイルへの書き込み以外に、保存機能で実際に多くのことを行っていません。何らかの理由で、これによりセッション変数がクリアされます。

問題のセッション変数は、page_load メソッドで最初に取得しようとするユーザー情報です。

このセッション情報は、page_load メソッドを介してすべてのポストバックでも実行されます。

皆さん、ありがとうございます。これで十分に説明できたと思います。

4

1 に答える 1

10

アプリケーションに関連付けられたディレクトリ内のファイルを変更すると、IIS はアプリケーションをリセットします。アプリケーションをリセットすると、メモリ セッションが失われます。

リソース ファイルをディレクトリの外に置くことができます。または、セッションに状態サーバーを使用します。

于 2009-04-08T17:16:32.087 に答える