Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC应用程序中购物车的存放位置?_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# MVC应用程序中购物车的存放位置?

C# MVC应用程序中购物车的存放位置?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我在一个铁路门户网站上工作,需要维护用户选择的组件的购物车,购物车中可能有多个不同类型的组件。我看不到将购物车存储在数据库中的价值,我希望将最终订单存储在DB中。在MVC中,每个用户会话的购物车数据在哪里可以存储/保存(临时)?我在网上看到的所有MVC示例都将购物车数据保存在DB中——不知道为什么 MVC表示层将与外部web服务通信,以了解这些组件的定价和可用性,因此我不能仅存储产品ID,以便在购物过程中查找实际的产品描述/价格。。。我必须将购物车中的所有东西(产品ID、说明、价格等)存储在内存

我在一个铁路门户网站上工作,需要维护用户选择的组件的购物车,购物车中可能有多个不同类型的组件。我看不到将购物车存储在数据库中的价值,我希望将最终订单存储在DB中。在MVC中,每个用户会话的购物车数据在哪里可以存储/保存(临时)?我在网上看到的所有MVC示例都将购物车数据保存在DB中——不知道为什么

MVC表示层将与外部web服务通信,以了解这些组件的定价和可用性,因此我不能仅存储产品ID,以便在购物过程中查找实际的产品描述/价格。。。我必须将购物车中的所有东西(产品ID、说明、价格等)存储在内存中的某个位置。我的应用程序将在WEB场环境中运行,无法使用进程内会话存储。 我想到的选择有:

  • SQL SERVER中的会话状态
  • 使用某种分布式缓存机制存储会话数据,如“Windows Server AppFabric”

  • 购物车存储在数据库中,以便在需要时可以跨会话持久化

    此外,通过将其存储在数据库中,您可以获得可以查询的其他信息,例如我的客户想要哪些尚未购买的商品


    即使您现在不需要该功能,也可以将其放在数据库中,因为以后添加该功能会困难得多,而预先添加该功能相当容易。

    购物车存储在数据库中,以便在需要时跨会话持久化

    此外,通过将其存储在数据库中,您可以获得可以查询的其他信息,例如我的客户想要哪些尚未购买的商品


    即使您现在不需要该功能,也可以将其放在数据库中,因为以后添加该功能会困难得多,而预先添加该功能相当容易。

    将此数据存储在加密的客户端cookie中始终是一个选项。RubyonRails做到了这一点,而且它的伸缩性非常好


    有关Ruby如何实现这一点的更多详细信息,请参阅。不知道如何使用ASP.Net MVC实现此功能。

    将此数据存储在加密的客户端cookie中始终是一个选项。RubyonRails做到了这一点,而且它的伸缩性非常好


    有关Ruby如何实现这一点的更多详细信息,请参阅。不知道如何使用ASP.Net MVC实现这一点。

    购物车与文档数据库完美匹配。我建议先看看RavenDB、Redis、MongoDB和CouchDB


    如果你想获得极高的性能,你已经有了使用App Fabric的想法,之后你可以将购物车持久保存到任何耐用的商店,因为性能是一个相对没有意义的点。

    购物车与文档数据库完美匹配。我建议先看看RavenDB、Redis、MongoDB和CouchDB


    如果您希望获得极高的性能,那么您已经有了使用App Fabric的想法,之后您可以将购物车持久保存到任何持久的存储中,因为性能是一个相对没有意义的点。

    尽管将购物车作为加密字符串存储在隐藏字段中很有诱惑力,但这是错误的,因为大多数用户希望他们的购物车保持其状态

    想象一下,如果亚马逊的购物车没有在会话中持续运行。他们不会卖那么多的书、电子产品或其他东西


    当有疑问时,看看一个相当成功的网站,看看他们做了什么。这适用于生活中的所有事情,而不仅仅是网站

    尽管将购物车作为加密字符串存储在隐藏字段中很有诱惑力,但这是错误的,因为大多数用户希望他们的购物车保留其状态

    想象一下,如果亚马逊的购物车没有在会话中持续运行。他们不会卖那么多的书、电子产品或其他东西


    当有疑问时,看看一个相当成功的网站,看看他们做了什么。这适用于生活中的所有事情,而不仅仅是网站

    在数据库中存储购物车详细信息 和cookie中的购物车引用,用于识别特定浏览器/客户端

    e、 g

    refId和ProId将是主键


    在cookie中重新定义存储

    在数据库中存储购物车详细信息 和cookie中的购物车引用,用于识别特定浏览器/客户端

    e、 g

    refId和ProId将是主键


    在cookie中重新填充存储

    3。将其存储在应用程序服务器上—内存中(如果您有内存的话)—如果您使用粘性负载平衡。我只想把它存储在DB中——对于批量购买的普通客户来说,这是一个不错的功能。将其存储在应用程序服务器上—内存中(如果您有内存的话)—如果您使用粘性负载平衡。我只想将其存储在DB中-这是一个很好的功能,适合批量购买的普通客户。我同意您的建议,研究“我的客户想要哪些商品,但他们还没有购买?”很有帮助,但正如我在问题中所说,我的应用程序与外部web服务对话,以查询这些产品,它们维护大量日志,并具有用于此类研究的统计工具。我的应用程序将被大量使用,高可用性和性能将是我的应用程序的关键。为从购物车中添加/删除的每个组件在数据库中存储和检索购物车涉及到大量的数据库命中率和性能问题。。。建议。如果您使用
    SqlServer
    sessions(我推荐),在会话中存储仍然会将购物车放入数据库中。它实际上向任务中添加了一个额外的序列化组件,存储在会话中,因此速度可能较慢。因此…将购物车数据存储在DB中,并在cookie中存储相应的GUID(以检索购物车)会比在SQL SERVER中使用会话状态更好,因为以后会在序列化开销的情况下执行相同的操作。如果我能够找到并利用AppFabric,它会是一个更好的选择吗
    tblCart (refId,proId,qty)