asp.net中的会话,缓存和配置文件有什么区别
我们经常在asp.net webform项目中使用session,cache和profile.我们经常在asp.net webform项目中将数据存储在会话,缓存和配置文件中,但我想知道何时应该在会话中存储数据,或者何时应该存储在缓存和配置文件中.缓存或配置文件的范围是什么.这两个会话特定的生命周期或应用程序具体.
假设我是否在会话1中存储缓存或配置文件中的任何数据,那么我是否可以从session2访问该数据.只是引导我的场景和&我们应该在会话,缓存和配置文件中存储数据的示例.谢谢 解决方法
当您想要提高站点性能时,通常使用缓存:减少数据库调用,访问文件系统上的文件,调用外部服务等.
场景1:假设有一个应用程序,其中有一个页面列出了存储在数据库中的所有产品.用户需要产品列表过滤功能(例如ebay或amazon).此外,众所周知,与产品列表页面使用频率相比,产品列表和产品功能很少变化. 解决方案1:您可以在此处使用缓存来减少数据库调用.您将产品列表和产品功能放入缓存以在内存中执行过滤并避免冗余数据库调用.只要产品列表或功能发生更改,缓存就会失效.这个解决方案应该没问题,直到内存消耗处理比性能增益更便宜. 作为一个很好的资源,我建议阅读ASP.NET Caching: Techniques and Best Practices MSDN文章. 在配置文件中,您通常会保存特定于具体用户的数据,并且应在每次用户登录系统时可用. 场景2:考虑您拥有与场景1中相同的应用程序,但现在您需要为用户提供保存其过滤器首选项的能力(喜欢的过滤器列表类型). 解决方案2:您可以创建一种过滤器状态类并将其存储在用户配置文件中.因此,用户不会一次又一次地指定过滤器参数,并且每次用户登录时都可以使用这些首选项. 会话用于存储可从所有网页访问的用户特定信息,下次用户登录时不需要. 场景3:假设有一些电子商务应用程序,营销人员希望以近距离实时方式查看现场发生的情况,即查看某些用户在登录时访问了哪些页面.将此方案视为选定用户活动快照. 解决方案3:您可以在此处使用会话记录用户访问的URL,然后为营销人员生成报告. 至于状态管理,您还可以访问另一篇MSDN文章ASP.NET State Management Overview. Another good answer强调了管理asp.net应用程序状态的对象之间的区别. 希望这对你有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在ASP.NET MVC中对ViewModels进行验证
- asp.net-mvc-2 – 检查Html.ValidationSummary()是否有值
- 维护面板滚动位置部分回传ASP.NET
- asp.net-mvc – MVC将null反序列化为“null”(字符串)
- asp.net – SimpleMembership向经过身份验证的用户提供登录
- 在ASP.NET菜单控件中设置item.selected
- 使用模块化设计组织良好的ASP.NET应用程序的最佳方法
- ASP.NET会话Cookie – 指定基础域
- asp.net – 将下一个/上一年的按钮添加到asp日历控件
- asp.net-mvc – 有一个强大的方法来删除ASP.NET MVC中的Mod
- asp.net-mvc-3 – @ Html.TextBoxFor文本框在验证
- asp-classic – 是代码页65001和utf-8同样的东西
- asp.net-core – Asp.net Core中的UserHostAddre
- asp.net-mvc-3 – 无法添加从其他类继承的模型的
- asp.net-mvc – 无法添加MVC控制器VS2012给出“对
- asp.net-mvc – 如何在会话较少的负载平衡环境中
- asp.net-mvc-5 – 当EnableOptimizations为true时
- asp.net-mvc – 使用IoC在Controller中注入HttpC
- 我可以使用owin和oauth提供商的asp.net会员资格吗
- asp.net – 如何在Kestrel响应中添加no-cache?