[英]how to store user data in asp.net?
我正在ASP.NET中开发一个电子贸易Web应用程序。
要购买任何东西,首先,用户必须登录。 假设用户登录并开始购物。 当用户点击btnBuy时 ,我正在将该项目添加到集合中。 到目前为止,一切正常。
假设用户购买了东西, bought means here, i added item chosen to the
which contains all the items chosen
bought means here, i added item chosen to the
购物篮 which contains all the items chosen
,然后关闭Web浏览器。 我要做的是存储此数据,以便在用户回来时能够检索此数据。 因此,用户可以在离开的地方取货。
到目前为止,我想到了两种选择:
1-)使用XML文件检索数据:我可以使用XML文件检索数据,但是,这里的问题是当用户删除所选项目时,我需要解析所有XML文件以删除所选项目,嗯,我认为这是昂贵。它使应用程序非常慢。
2-)存储在数据库中:我想存储在数据库中,但是我认为它也很昂贵。 因为,每次用户选择摘东西,我都需要进行连接,请求,查询等。
你们有什么想法吗,最好的方法是什么? 我在这里的路线正确吗?
谢谢。
ASP.NET基于Manager模式 (称为Profile)提供了这种内置的解决方案存储。 MSDN链接从何处开始调查详细信息: http : //msdn.microsoft.com/zh-cn/library/2y3fs9xs%28v=vs.100%29.aspx
可以通过System.Web.HttpContext.Current.Profile几乎在任何地方(当然,也可以在n层中)访问概要文件。 基本对象是ProfileBase类型。 但是你可以注入你的。 并且还有ProfileProvider (在APS.NET中某些默认值是SqlProfileProvider ),或者您也可以注入。 稍后,您可以根据需要将提供程序更改为目标XML,DB ...(例如,在更合适的Web场中是DB),并且还可以使用诸如Cache之类的性能提示。
来自web.config的此代码段显示了如何使Profile发挥作用。
<profile defaultProvider="ProjectProfile" inherits="MyLib.ProjectProfile, MyLib">
<providers >
<clear/>
<add name="ProjectProfile" type="MyLib.ProjectProfileProvider, MyLib" />
</providers>
</profile>
您甚至可以将其用于未登录的用户! 这可以通过使用另一个web.config设置来完成:
<anonymousIdentification enabled="true" />
它将支持任何用户的唯一cookie
一个简单的购物车解决方案是仅在用户的浏览器中使用cookie,因为存储的数据对用户或网站并不重要,这里是一个示例: http : //www.codeproject.com/Articles/93639/Simple -购物-车-篮用户-控制-使用-ASP
您可以阅读有关cookie的更多信息:
http://msdn.microsoft.com/en-us/library/ms178194(v=vs.100).aspx
但是,通过使用cookie,只有在用户使用相同的浏览器访问网站时,您才可以访问数据,如果对您而言,您可以使用数据库解决方案,相信我,数据库比读写xml文件快得多,您还可以在用户订购完成后清除数据库
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.