このトピックは間違いなく以前に尋ねられたと確信していますが、私の特定のクエリに答える投稿が見つかりませんでした.
私はMVCを初めて使用することを念頭に置いて、これが私がしなければならないところです。MVC 3 フレームワークを使用して VS 2010 で開発されたプロジェクトがあります。6 つのフィールドで構成される検索ページと、それ自体が約 3 つのフィールドを保持するネストされたモデルがあります。
このすべてのデータを自分自身に正常に投稿でき、データはモデルとして正常に渡され、ユーザーが提供したデータがフィールドに保持されるようになります。
別のビューでこの検索基準を実際に使用する前に、ある考えに行き着きました。この検索条件を保持したいと思います。また、ユーザー セッションの間、検索結果もメモリに保持したいと考えています。
この背後にある理由は、単純に次の方法でユーザーの時間を節約するためです。
a) 検索ページに出入りする方法に関係なく、検索条件を再入力し続ける必要性を否定する
b) 検索結果をより迅速に表示することで、ユーザー エクスペリエンスを高速化する
後者は最初の要件ほど重要ではありません。
私はいくつかのグーグル検索を行いましたが、実際にこのサイトで同様のトピックを調べました。セッションを使用して読んだことから(PHPサイトを開発する場合は通常使用します)、いいえいいえです。私が読んだ理由から、セッションを使用すべきではない理由は有効であると思われ、喜んで同意します。
しかし今、私は頭を悩ませている場所に残されています。この単純な目標を達成するためのベスト プラクティスは正確には何なのか、プロジェクトの後半で同様の状況に適用できます。
OutputCache メソッドも調べましたが、期待どおりに動作しませんでした。テストでは、タイムアウトを 30 秒に設定しました。検索を送信した後、検索ページへのリンクをクリックして、フィールドが自動入力されるかどうかを確認しましたが、そうではありませんでした。しかし、検索ボタンをクリックすると、キャッシュ内の値が取得されました。私は進歩していると思っていましたが、新しい値を送信しようとすると、キャッシュから古い値が戻ってきました。つまり、キャッシュが適用された状態で検索基準を実際に変更できませんでした。だから私はこれを探索する手段として割り引いた.
最後のオプションは、最も可能性の高い候補として Cookie の使用を示唆しているように見えますが、正しいか間違っているかにかかわらず、これは最善の解決策ではないと感じています。MVC 3 設計パターンには、値を永続化するためのより簡単で推奨される方法があると思っていたでしょう。あると確信していますが、まだ発見していません。
私はJQueryを使い始めましたが、これも言及されていますが、これが正しい方向性かどうかはわかりません。
要約すると、私の質問は、私の状況でデータを永続化するためのベストプラクティスとして、より広いコミュニティによって考えられているものに帰着します。効率性、スケーラビリティ、回復力が最も重要です。これは、最終的にこの Web アプリを使用する大規模なグローバル ユーザー ベースが必要になるからです。
前もって感謝します!
ピート