0

私は 3 ページの長さのフォームで構成される Web アプリケーション ページに取り組んでいます (これは最も効率的な方法ではありませんが、ユーザーのためにそのように保つ必要があります)。

私の質問は次のとおりです。フォームのあるページから次のページへの情報を追跡するためのベスト プラクティスは何ですか? 一般に、フォームの結果でデータベースを更新するために、ストアド プロシージャ呼び出しまたはインライン SQL を作成する最後のフォームまで、すべてをセッション変数に保存します。もう 1 つのオプションは、あるページから次のページに移動する前に、インライン SQL ページごとにデータを格納することです。

TL;DR - 3 ページ後のデータと SQL のセッション変数ストレージ、または各ページのインライン SQL?

ありがとう!

4

1 に答える 1

1

各ページに入力したデータをデータベースに保存することをお勧めします。データは、セッション ID によって 1 つの (一時) テーブルに保存できます。ユーザーが「完了」または「送信」ボタンをクリックすると、一時データをコピーしてデータが「アクティブ化」されます。テーブルを正規化されたテーブルに変換します。

ただし、このソリューションでは、最終的な場所にコピーされることのないデッド セッションに対処する必要があります。したがって、セットアップにはクリーンアップ タスクが必要です。これは、MS SQL ジョブまたはデータベースへの SQL クエリである可能性があり、最後のクリーンアップ時間をチェックし、設定された時間間隔に達する前にそれを実行します。

すべてをセッションに保存するのは良い方法ではありません。特に、大規模なデータ セットを保持している場合や、多数の同時ユーザーがいる場合。その理由は、HTTP セッションがサーバーのテキスト ファイルに保存され、I/O を消費するためです。これにより、RDB に比べて遅くなります。

于 2012-08-01T11:39:30.573 に答える