0

WebForms アプリケーションで System.Web.Routing アセンブリを使用しています。win2008/IIS7 にデプロイされたアプリケーションを実行すると、次のメッセージが表示されました。

セッション状態は、構成ファイルまたは Page ディレクティブで enableSessionState が true に設定されている場合にのみ使用できます。System.Web.SessionStateModule またはカスタム セッション状態モジュールがアプリケーション構成の \\ セクションに含まれていることも確認してください。

これは、構成したルートを使用する場合にのみ問題になります。aspx ページに直接移動する場合は問題ありません。

EnableSessionState は、web.config と Page ディレクティブの両方で有効になっています。セッション エントリを web.config の httpmodule に追加しました。

ワークステーションで Visual Studio を使用して開発する場合、これは問題ではありません。これは、Win 2008 の IIS7 でアプリケーションを実行しようとした場合にのみ問題になります。

4

2 に答える 2

1

私は同じ問題を抱えており、問題が何であるかを知っていると思います。

ルーティング システムの下に FileNotFound ページを実装しようとしています (まだ解決していないのは、FileNotFound ページを提供し、ヘッダーで 404 応答を提供する方法です)。

私が見つけたのは、何らかの理由で、BuildManager に登録されたページがセッション コンテキストなしでインスタンス化されているように見えることです (ページは実際に要求されたのではなく、インスタンス化されただけです!)。

少なくとも、そのように思われます。


私は今、私の以前の主張にあまり確信が持てません。どうやら、画像が物理的に存在しない場合、画像のリクエストもルーティング システムを通過するようです。これにより、IRouteHandlerイメージ パスが一致したときに が呼び出されます。画像が要求されたときにセッションオブジェクトが存在しないと確信しているため、ルーティングされたページがそれにアクセスしようとすると問題が発生する可能性があります。

于 2009-06-04T13:44:35.287 に答える
0

あなたが説明していることは、私が持っていた質問に似ていると思います。

IIS7 が別のモードで実行されている可能性があります。nad は 7 よりも II6 に似ています。

いくつかの質問: 1. マッピングはリクエストを正しくリダイレ​​クトしていますか? 2. リクエストがマッピングされると、どこに行きますか? 3. このページをたどると、どのコード行でエラーが発生していますか (あなたのコードにもヒットしますか)?

于 2009-11-17T20:32:48.077 に答える