阅读 70

asp.net的session的模式

在开发中通过webconfig配置session的时长,了解到session是有多种模式的,所以总结一下。

一、session是web中的会话,因为http是不保存状态的无状态协议,所以浏览器请求服务器产生响应,如果同一个浏览器再一次请求,服务器不知道请求是谁,没有保存状态。通过使用session会话的机制,在第一次请求的时候服务器生成唯一的session信息返回给浏览器,浏览器再次访问时候带上session信息在服务器进行查找会话,实现有状态的响应,其中session可以保持在浏览器的cookie中达到保存标识的作用。

二、session的模式

1、InProc(默认类型,存储在内存中)

在webconfig中进行配置其中timeout是session的过期时间,该模式也是默认模式,其过期时间默认20分钟,session存储在内存中。

优缺点:最快,最通用的默认形式,对象不需要进行序列化和反序列化存储(内存的形式),IIS重启或者工作进行被回收会失去session,session数据过大或者过多,影响内存的性能。

 

 2、StateServer(asp.net_state.exe服务中)使用一个独立的Windows服务提供session服务,独立于IIS,可以使用单独一台服务器。

首先要开启asp.net_state.exe服务,并且在注册表中设置为自启动。然后在webconfig中进行配置

优缺点:数据可以在不同应用程序上共享,性能瓶颈,数据要序列化和反序列化,两个不同的进程,进行通信读写消耗性能。

 

3、SQLServer(存储在sql server数据库中)

session保存在数据库中,通过在sqlserver创建session存储的数据库表,创建session是会在表中保存一条session的数据,过期时间等。

通过命令在数据库创建session数据库C:\Windows\Microsoft.NET\Framework\v4.0.30319\ aspnet_regsql -S DESKTOP-51KBM4A\SA -U sa -P 123456 -ssadd -sstype p
在webconfig中进行配置

优缺点:session不受IIS重启的影响,不会因为IIS重启失去session,最可靠和安全的session模式,数据共享,对象的序列化和反序列化影响性能。

 

4、Off(关闭session )

5、自定义Session模式

 

参考:

原文:https://www.cnblogs.com/tuqunfu/p/15058617.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐