asp.net-mvc – 在asp身份声明和会话数据之间进行选择
我试图在我的MVC应用程序中存储用户特定数据作为身份声明或会话数据之间做出选择,以减少数据库往返请求的数量和频率.但是,考虑到性能,安全性和其他最佳实践考虑因素,我不知道要走哪条路线.
我将对此提出任何建议表示感谢. 解决方法
IMO(以及我的观点)基于我对声明,Cookie和存储规则的了解:
性能方面我从来没有看到声明和会话存储之间的差异(除非cookie从很多声明中变得很大)它们似乎都与速度相同(尽管它们都必须查找数据)来自某个地方(CLaims = cookie,会话=服务器驱动器存储),以及最佳实践,这将与您需要存储多少数据的方式相关. 根据我的经验(如果我错了,请纠正我),但会话数据存储在服务器上的磁盘上,基本上只有你的服务器硬盘可用空间用于大小限制等,而cookie确实有硬编码数据大小限制以及您存储的声明越多,Cookie就越大,所以如果您说最大化该cookie,客户端可能会看到性能损失,因为它在每个请求中向网站发送整个cookie数据,其中Session服务器在本地查找数据,浏览器发送的数据较少. 所以我对最佳实践的看法是,如果您保存数据库查找的持久性数据占用的空间很小,那么它确实没有最佳实践,只需使用您喜欢的任何内容,但如果您存储了大量的内容,尤其是字符串然后会话在我看来,这是最好的做法,因为它可以保存客户端/服务器之间的数据往返,并且没有您可能在某个时候遇到的大小限制,然后想知道为什么您的数据不存在(完成此操作)在过去我自己,因为如果cookie太大,客户端只是默默地拒绝它,并花了3天时间来弄清楚它是cookie的大小) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在viewstate(或其他想法)中的asp.net商店对象类
- C#进阶系列——WebApi 接口参数不再困惑:传参详解
- asp.net-mvc – .net mvc的简短/快速解释
- asp.net – 错误:类型存在于两个目录中
- asp.net-mvc-3 – 企业中业务实体验证的首选方法
- asp.net-mvc – 当它被称为DocumentationController时,MVC控
- ASP.NET /数据库性能清单
- asp.net – System.InvalidOperationException:无法找到En
- asp.net mvc.显示数据库中的html字符串
- asp.net-mvc-3 – MVC3 – 类型double与前导零的3位小数位
- asp.net-mvc – 使用Windows身份验证和OWIN的ASP
- asp.net-core-mvc – ASP.NET MVC6 Beta8和Windo
- 在asp.net C#中读取表单变量的问题
- asp.net – 将数据绑定到网格视图
- 如何获取ASP.NET应用程序的完整虚拟路径
- 初识ABP vNext(2):ABP启动模板
- asp.net-mvc-3 – 无法解析属性:User.Full_Name
- asp.net – 将样式应用于CheckBoxList中的ListIt
- asp.net-mvc – ASP.NET MVC AcceptVerbs和注册路
- asp.net – 有没有办法在Web Api控制器中处理表单