1

新しいウェブサイトで、私は巨大なフォーミュラを持っています(つまり、本当に大きいので、それを完了するには少なくとも15〜20分かかります)。これは、来年の1人のクライアントのためにウェブサイト全体を構成します。

複数のタブに分散されています(ウィザードです)。次のタブに移動するたびに、サーバーに対して通常の(ajax以外の)呼び出しが行われ、次の「ページ」が生成されます。以前の情報はセッション(カスタムバインダーを持つオブジェクト)に保存されます。

今日、すべての実際のデータでテストするまで、すべてが正常に機能していました。実際のデータには反射が必要であり、正しい要素を見つけるために作業する必要があります...そしてそれは時間がかかります。

私たちが得た問題は、ビューが部分的に空のモデルを受け取ることです。セッション期間は1440分に設定されています(IISでも)。今のところ私が知っているのは、ビューにモデルに初めてアクセスしようとしたときにNullExceptionが発生することです。

1時間くらいからコントローラーをチェックしていますが、nullモデルになるのは無理です。これらすべてのデータを非常に高速に配置すれば、問題はありません(ただし、ランダムなデータです)。

今のところ、IISサーバーでこの問題を再現することしかできませんでした。また、elmahログをチェックしてデバッグしているため、再現するのはそれほど簡単ではありません。

これをどのようにデバッグする必要があるかについて、何か考えがありますか?私はここで少し迷っています

4

3 に答える 3

0

セッションは信頼できる永続性を提供しないと想定する必要があると思います。詳細はわかりませんが、メモリ制限を超えると一部の要素が解放され始めると思います。

データベースを使用してその情報を保存するか、状態を永続化するための独自の実装を導入すると、より安全になります。

于 2012-09-06T14:26:26.397 に答える
0

@Ufukが提供する回答に加えて、1分ごと
にリクエストを簡単に送信できますが、ajax実際には何もしませんが、これを行うことでsession期限切れにならず、サイトは長期間実行され続けます

于 2012-09-06T14:30:12.987 に答える
0

問題は、セッションに十分なスペースがなかったと思います。アプリケーションプールを再起動することで、一時的な問題を解決しました。このすべてのコードを変更することを意味しないソリューションをまだ探しています。他のモードのセッション状態を使用している可能性がありますが、モデルをシリアル化可能にする必要があります。

于 2012-09-17T07:12:46.110 に答える