加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – SESSION VARIABLES的替代品是什么?

发布时间:2020-12-16 07:36:19 所属栏目:asp.Net 来源:网络整理
导读:参见英文答案 ASP.NET Masters: What are the advantages / disadvantages of using Session variables?????????????????????????????????????8个 会话变量在开发大型Web应用程序时有哪些限制. 还有什么是会话变量的最佳替代方案. 请为我提供SESSION VARIABL
参见英文答案 > ASP.NET Masters: What are the advantages / disadvantages of using Session variables?????????????????????????????????????8个
会话变量在开发大型Web应用程序时有哪些限制.
还有什么是会话变量的最佳替代方案.

请为我提供SESSION VARIABLES的替代方案

解决方法

要了解不使用会话的优点,您必须了解会话的工作方式.

在默认设置中

>会话由用户浏览器中设置的cookie标识
>会话数据存储在Web服务器的内存中

当用户向服务器发送请求时,将发送会话cookie.它包含服务器用于定位特定用户的会话数据的标识符.

您可以将ASP.NET配置为

>使用查询参数而不是cookie来存储会话标识符
>将会话数据存储在数据库中(如果您有多个服务器为您的站点提供服务,则具有会话数据的中央数据存储尤为重要)

现在,为了禁用会话状态的优点:

> ASP.NET通过序列化请求来访问会话数据线程安全.这意味着,当启用会话状态时,ASP.NET拒绝提供来自同一用户的并发请求.当用户的浏览器发出大量的ajax请求时,这尤其成为一个问题.通过为不需要更新请求的请求标记会话状态只读,可以缓解此问题.
>当请求进入时,ASP.NET必须获取会话数据,并且必须在请求结束时写回数据.如果会话状态存储在内存中,这可能不是一个大问题,但如果数据存储在中央数据库中,这可能会导致严重的性能问题.

不用说,通过为大量用户存储大量数据来加剧这些问题.

有关更多信息,请参阅

> ASP.NET Session State Overview
> Fast,Scalable,and Secure Session State Management for Your Web Applications

(最后一篇文章有??点陈旧,但仍然很好读).

备择方案

>如果可以,完全避免会话状态.
>如果您绝对必须将数据与用户关联,请使用HTTP机制并使浏览器将数据包含在cookie或查询参数中(这部分是整个REST运动的内容).

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读