我的网站是在ASP.NET中开发的
我有在我的网站上购买的用户。 为了做到这一点,我有一个名为Purchase的类。 在用户选择了他想要的所有产品后,他被重定向到Paypal中的SetExpressCheckout。 返回后,我想加载他留下的所有数据,这样我就可以继续处理GetExpressCheckout和PaymentProfile的创建(这些都是经常性费用)。
public class Purchase
{
public string PurchaseID{ get; set; }
public string Description { get; set; }
public decimal TotalPrice { get; set; }
public string AccountID { get; set; }
public string Token{ get; set; }
public Dictionary<string, Product> productsDict { get; set; }
}
回来后,我想再次加载购买并完成购买。
为此,我遇到了两种不同的方法: 数据库和会话
根据我的理解,数据库更耗时。保存到表,通过id加载它,但在我看来,它更安全。 使用Session来做到这一点,我冒着让用户失去Session而不能在以后登录时检索购买细节的风险,我需要将我的类序列化以添加到会话中(DataContract&amp; DataMember) 有传统的方法吗?我在这里错过了一些关键元素吗?
谢谢
答案 0 :(得分:0)
我一直使用会话变量,但它从来都不是问题。它唯一可能的时间是用户离开并在会话超时后返回。尽管如此,这对我来说从来都不是问题。
那就是说,如果你有一个很好的类设置来处理你的数据库,那么用数据库做这件事并不是那么费时。