人人都知道怎么去使用session,但是初学者,尤其是自学的学生可能对于进程外的Session不甚了解,今天我就花半个小时做个简单的示范。

    首先,session其虽然是基于 cookie的,同时只对本次会话来产生效果,(原理很简单,就是字典内保存一个字典,外层字典的key也就是asp_netsessionId是 由.NET自动分配的并保存到只对本次会话有效的cookie中,我们的工作只是负责内部我们需要的字典的内容,并有.NET自动分配一块区域保存起来, 当然这个是有一定的时效性的,模拟代码可以看看资料,或者反编译下看看,很简单,这里就不说了)但是有时候我们就会发现默认的session存储方式,可 能造成数据的丢失,虽然他的存储类型是object,但是我们要是存储大量的数据就经常出现数据的丢失。

    下面我介绍两种人人都知道,我也刚知道的配置手段。这两种都是进程外的session机制,可以在IIS或ASP.NET服务意外关闭时继续保持状态.

1.使用aspnet_state.exe

步骤:对于win7不用找,直接打开服务,其一般是已经注册了的。

开始---运行---services.msc 找到

然后打开它,之后我们在web.config内配置Session状态

?
1 <sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/

?

42424是默认端口号(可以修改),同时默认的也是本机访问,要是需要可以在注册表配置,以满足远程服务器的。

然后AllowRemoteConnection值修改为1,0代表本机。之后字需要修改web.config中的IP即可。

现在我们来测试一下效果:

我前面的就不在演示了,这里演示一下,获取session后关闭了服务器

,之后再打开,我就可以看到

多次刷新session任然保持存在。

2.使用SQLServer保存

微软提供了2中保存方式(附带创建脚本)

临时储存区:InstallSqlState.sql & UninstallSqlState.sql
永久储存区:InstallPersistSqlState.sql & UninstallPersistSqlState.sql

步骤:我们在.NET安装目录中打开

,出现

之后配置一下web.config,

?
<sessionState mode="SQLServer" sqlConnectionString="...."></sessionState>

我们打开SSMS.

运行我们上面官方提供的脚本,这里拿出一个临时储存区的脚本运行

临时脚本

虽然会报错,但是不用管,没什么影响,之后会出现一个数据库

怎么测试就不说了,都是一样的,还有就是永久存储区的建立都是一样的, 只是内部会保存具体的信息,同时我们可以配合SQL代理

作业来自动删除失效的session对象.

这里不同进程间的通讯涉及到序列化问题,这里就不说了,里面有

就很容易看出来。

好了,今天到此结束,休息一会去了。

Session的配置相关推荐

  1. Nginx+Tomcat+Memecached实现session共享配置

    这段时间一直在搞项目部署,以前从来没做过,感觉很吃力,下面这个是自己配的Ubuntu下Nginx+Tomcat+Memecached实现session共享配置参考文档,欢迎大家拍砖,不知为啥sessi ...

  2. 基于nginx tomcat redis分布式web应用的session共享配置

    一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...

  3. Spring Boot 应用中 Spring Session 的配置(1) : 自动配置 SessionAutoConfiguration

    概述 本文基于以下组合的应用,通过源代码分析一下一个Spring Boot应用中Spring Session的配置过程: Spring Boot 2.1.3.RELEASE Spring Sessio ...

  4. Shiro教程(七)Shiro Session共享配置以及实现

    Shiro  我们通过重写AbstractSessionDAO ,来实现 Session  共享.再重写 Session  的时候(其实也不算重写),因为和HttpSession 没有任何实现或者继承 ...

  5. php session redis 配置

    相信很多人用过redis存放session,可能有些人还不是很清楚,这里说一下如何配置php的session存放在redis里面?然后如何测试出效果? 具体环境: 一台apache+php的服务器(y ...

  6. php session redis db,php session redis 配置

    具体环境: 一台apache+php的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45) 一台redis服务器(yum安装remi源及配置 redis-3.2.6) ...

  7. Spring mvc Interceptor 解决Session超时配置流程

    最近公司内部框架中对Session超时这一功能未实现,由于采用iframe结构,Session超时后,当点击左侧系统菜单时,会在iframe的右侧再次弹出登陆框. 该问题是由于没有设置拦截器造成. 添 ...

  8. Java web session失效时间配置及详解

    一 关于session 1 session机制 在web程序中使用session来记录客户端状态,是服务器端使用的一种记录客户端状态的机制. session技术则是服务端的解决方案,通过服务器保持状态 ...

  9. 关于PHP Session 的配置与启动问题解决

    命题1:什么是Session? 我觉得应该阐述为更佳安全的"Cookie"吧.Session在很多开发语言中都有非常广泛的运用.可以用来保存.验证用户所提交的信息等.而且Sessi ...

最新文章

  1. 再见,Kafka!再见,RocketMQ!
  2. 【读书笔记】MongoDB管理与开发精要(1)
  3. Flask无法访问(127.0.0.1:5000)的问题解决方法
  4. 统计学习方法笔记(六)-非线性支持向量机原理及python实现
  5. oracle对比两列数据_oracle与mysql对同一张表 两列数据的某一字段进行值的交换
  6. 【Python】求多个字符串的最长公共前缀
  7. 使用phpstudy搭建渗透测试靶场环境
  8. Python四大金刚
  9. 浅谈项目开发现状(一)
  10. 能代表个人水平的c语言程序,求全国高等学校计算机水平考试级C程序设计的免费..._报关水平_帮考网...
  11. Linux内存管理:一个故事看懂CPU内存管理技术
  12. TUXEDO配置常见问题及解决方法
  13. RuntimeError: Python is not installed as a framework 错误解决方案
  14. C#处理Json文件
  15. 登录个税显示局端服务器显示,天津金税三期个人所得税扣缴系统
  16. 史上最全的中药口诀大全
  17. 新建的module没有蓝色小块
  18. 000001历史数据_平安银行(000001) - 历史数据 - 股票工具
  19. 全球及中国常规救生艇行业研究及十四五规划分析报告
  20. 【腾讯QQ官方正式版下载】基于Internet的即时通信(IM)软件

热门文章

  1. 经典C语言程序100例之五零
  2. C语言与C++优缺点
  3. 计算机与采集卡无法通信,通信工程毕业设计(论文)-基于.NET平台的高速图像采集.doc...
  4. Cifar10与ResNet18实战、lenet5、resnet(学习笔记)
  5. MongoDB sharding模式实现(http://blog.chinaunix.net/xmlrpc.php?r=blog/articleuid=28266791id=5758139 )
  6. 简单QT应用到通过手写布局实现QT应用
  7. Excel单样本T检验
  8. MariaDB 窗口函数row_number、rank介绍
  9. python定义距离_距离度量以及python实现(一)
  10. python 标签云_标签云算法Python实现