MVCアプリケーション用の永続ショッピングカート、つまりユーザーがログインしたときにいくつかの製品をカートに追加し、注文を行わずにカートに残っている商品を残したいとします。私は、ある程度の時間が来るまでユーザーが買い物カゴに追加したアイテムを持つようにして、カートを手動で注文したり、カートからアイテムを1か月以内に取り除いたりしたいと考えています。 asp.net sessionStateにカートを保存することをお勧めしますか?はい、どのモード、State Server、InProc、Out of Process、またはSQLServer? よろしくお願いいたします。asp.netを使用して永続化するために、ユーザーのショッピングカートをsessionStateに保存するのはプロフェッショナルですか?
答えて
セッション状態は、ユーザーがあなたのサイトとやり取りしている間だけ続きます。技術的にはもう少し時間はかかりますが、ユーザーがブラウザを離したりブラウザを閉じたりすると、セッションが終了したとみなす必要があります。
オプションA: ユーザーのコンピュータでクッキーを使用して、ショッピングリストにアイテムを保存します。できるだけ少ない情報、おそらく製品SKUと数量だけを保管してください。
例:クッキーを読むためにクッキー
HttpCookie cartCookie = new HttpCookie("TheCart");
DateTime now = DateTime.Now;
// Possibly a serialised string of the shopping cart object (ensure no sensitive info though)
cartCookie.Value = shoppingCartData;
// Set when the cookie should expire.
cartCookie.Expires = now.AddMonths(1);
// Add the cookie too the response
Response.Cookies.Add(cartCookie);
を作成するには:
HttpCookie cartCookie = new HttpCookie("TheCart");
cartCookie = Request.Cookies["TheCart"];
オプションB: をお使いのユーザーがログインしている場合、そのデータにカートの状態を保持たとえば、リレーショナル、ディスク上、またはNoSQL DBに格納することができます。
非常に説得力のある答えですが、このsessionStateが何のために使われたのか教えてください。 – Dawar
セッション状態は、ユーザーがサイトを閲覧中にデータを保持するために使用されます。ページ間にデータを投稿する必要がなくなり、ユーザーのコンテキスト内で「グローバル」状態バッグが得られます。また、ページに埋め込まれたビューステートと、すべてのユーザーでグローバルなアプリケーションステートがあります。通常は、これらの概念(セッション状態、Cookie、アプリケーション状態、およびビュー状態)をブレンドして、最適なソリューションを得る必要があります。それらを読んで、どこでどこを使用するかについてさらに深く理解してください。 –
ありがとうございます:)提案はあまりにも役立ちます – Dawar
- 1. Androidで永続データを保存するためにアプリケーションクラスを使用する
- 2. asp.net + MVCを使用してショッピングカートのセッション値をデータベースに保存する方法
- 3. Pythonでユーザー入力を永続的に保存する方法
- 4. ファイルを永続的に保存する
- 5. ASP.NET MVCを使用してSQL Serverにデータを永続化する
- 6. 「#」はFancybox 3はURLで現在のビューを永続化するためにハッシュタグを使用して、既にURL
- 7. onPause()またはonStop()に永続データを保存しますか?
- 8. MVCのアプリレベルでデータベースに保存された参照データを永続化するためのベストプラクティス
- 9. swiftを使用してデータを永久に保存する3
- 10. ASP.NETでデータソースコントロールを使用するのは本当にプロフェッショナルですか?
- 11. データを永続的に保存するための最も簡単な方法
- 12. @Asyncと@Transactionalは、すでに永続化されている永続オブジェクトを保持します。JPA
- 13. WPFでエンティティフレームワークを使用して変更を永続化する
- 14. ASP.NETで後で使用するための文字列を保存します
- 15. マスターページで使用されるドロップダウン選択値をasp.netのすべてのコンテンツページに永続化する方法
- 16. ContentEditableを使用してASP.NETでDBに保存しますか?
- 17. WebViewの履歴は永続的に保存できますか?
- 18. クッキーを使用してangularfire2でログインしたユーザを永続化する
- 19. iPhone開発でデータを永続化するためのオプション
- 20. HibernateとJPAを使用してJSONオブジェクトを永続化する
- 21. openJPAを使用して更新クエリを永続化する
- 22. アンドロイドはユーザーの設定を永久保存しますか?
- 23. TinkerGraph:なぜGraphTraversalSourceによる突然変異は、Graphを使用している間に永続化/保存しないのですか?
- 24. Windowsモバイルデバイスエミュレータ - 設定を永続的に保存する方法は?
- 25. スタンドアロンプログラム用のjaxbを使用してJavaでデータを永続化する
- 26. ZookeeperはHbaseの永続データを保存しますか
- 27. asp.netを使用してユーザーデータをExcelファイルに保存する
- 28. ASP.NETを使用してサブドメインに画像を保存する
- 29. データベースのデータを保存するために使用するファイルタイプ
- 30. Pythonで永遠に辞書を保存するためのエレガントな方法は?
商品がショッピングカートに入れられていません。あなたは*耐久性のないストレージにそれらを保存したくない*。さらに、Webアプリケーションの一部の状態だけでなく、他のシステムからアクセス可能な顧客の潜在的な注文です。それを適切なデータベーステーブルに格納することはただ一つの選択肢に過ぎません –