2

asp.net のセッションに関するこの問題に遭遇しました。ASP.Net Web アプリケーションを作成しています。System.Web.Ui.Page を継承する BasePage というクラスを作成しました。この BasePage クラスは System.Web.Ui.Page で、ActiveUser 型の ActiveUser という追加のメンバー (私が独自に作成したクラス) を持ちます。BasePage のコンストラクターで、メンバー ui を に設定しましたthis.ui = (ActiveUser)Session["ActiveUser"]。これは、以前に設定されたセッション変数です。ただし、プロジェクトを実行するとHttpException、BasePage のコンストラクター on が取得されthis.ui = Session["ActiveUser"]ます。ただし、構成ファイルで enableSessionState が true に設定されていることを確認するように指示されています。これを解決する方法について誰かアイデアがありますか? それは非常に高く評価されます。ありがとう!

4

1 に答える 1

6

これをベース ページ コンストラクターに保存するのはなぜですか?

コンストラクターからセッションにアクセスするのではなく、Page_Init からアクセスする必要があります。次の投稿を参照してください。

http://weblogs.asp.net/anasghanem/archive/2008/05/07/avoid-using-the-session-in-the-page-constructor.aspx

セッション変数は、ページ機能を実装するときにいつでもアクセスできるため、すべてのセッション データを取得する機能を備えた静的クラス/メソッドを作成してみませんか? 基本クラスでこのデータのストレージを複製する理由がわかりません。

このスレッドを確認することをお勧めします: ASP.Net セッション

于 2009-10-04T14:39:47.660 に答える