进程内外的session

进程内session:
缺点:当访问量大的时候,会导致进程内session的重启
优点:存储速度快

进程外session:

01.将session存储在状态服务器中 asp.net state service

缺点:当访问量大的时候,会导致session池重启,数据也容易丢失
优点:存取速度相较于数据库来说更快

02.将session存在数据库中(常用)
缺点:会频繁访问数据库,加重数据库服务器的负担
优点:session会很稳定

进程内:session对象是被保存在进程的内存中,当执行如下语句时Session["data"]="123" ,“123”立即被写入Session变量中。

进程外:当前会话的所有Session变量都是在请求开始时从存储空间读入,在请求结束时才向存储空间反映Session值的变化,从请求开始到结束期间发生异常,请求会被终止,这样在此期间对Session变量的改变不会反映到存储区间。

进程外Session的配置:(都是在system.web节点下配置)只能使用其中任一个

    <!--进程外session配置到状态服务器中-->
    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424">
    </sessionState>

    <!--将session配置到数据库-->
    <sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="server=.;database=aspnetDB;uid=***;pwd=***;">

其中,数据库的配置需要以下操作:

打开VS开发人员命令提示,输入:

aspnet_regsql -U sa -P 123 -ssadd -sstype c -d SessionTestDb(此处是自定义Session数据库名称)

时间: 2024-10-18 21:14:59

进程内外的session的相关文章

UNIX高级环境编程(12)进程关联(Process Relationships)- 终端登录过程 ,进程组,Session

在前面的章节我们了解到,进程之间是有关联的: 每个进程都有一个父进程: 子进程退出时,父进程可以感知并且获取子进程的退出状态. 本章我们将了解: 进程组的更多细节: sessions的内容: login shell和我们从login shell启动的进程之间的关系. ? 一 终端登录(Terminal Logins) BSD Terminal Logins ?BSD终端的登录程序在过去35年都没有改变. 系统管理员(the system adminstrator)创建一个文件 /etc/ttys

配置进程外的Session

1.Session保存在SQLServer中配置方法 1)运行.NetFramework安装目录下对应版本的aspnet_regsql.exe 来创建相关的数据库.表和存储过程等,比如: C:\Windows\Microsoft.NET\Framework\v4.0.30319> aspnet_regsql.exe -ssadd -sstype p -S 127.0.0.1 -U sa -P 123456 其中-sstype p表示数据库名固定为ASPState,-S(大写)为数据库服务器地址,

.net学习之进程外Session的配置

转载地址:http://www.cnblogs.com/rohelm/archive/2012/05/13/2498465.html 人人都知道怎么去使用session,但是初学者,尤其是自学的学生可能对于进程外的Session不甚了解,今天我就花半个小时做个简单的示范. 首先,session其虽然是基于cookie的,同时只对本次会话来产生效果,(原理很简单,就是字典内保存一个字典,外层字典的key也就是asp_netsessionId是由.NET自动分配的并保存到只对本次会话有效的cooki

session进程和服务

session如果是存在进程内的话,当进程重启,session数据就会丢失. 所以就找到了个办法,不吧session放在进程内,而是放在服务器上.这样子只要服务器不重启,session数据就不会丢失. 1.开始服务 开始本机上的asp.net state service 服务 2.更改配置文件 在system.web下添加 <sessionState mode="StateServer" stateConnectionString="tcpip=xxxxxxx"

第四节:框架前期准备篇之进程外Session的两种配置方式

一. 基本介绍 1. 背景:Asp.Net默认的Session机制是进程内,存储在服务器端内存中,有这么几个缺点: ①:既然存在内存中,空间有限,不能存储大数据量信息,数据量多的话Session会被挤爆. ②:IIS只要一重启,Session就会丢失,哪怕就是改一下配置文件,IIS也会重启,此时如果客户端有用户通过浏览器正在访问该网站,如果用到Session,原Session是丢失的了,就会报“未将对象引用设置到对象的实例”类似的错误. ③:Session是依赖Cookie来保存SessionI

进程相关命令的使用

ps, top, htop,  vmstat, dstat,pstree,pidof, pgrep 在htop默认没有添加字段的情况下. ps top htop 常驻内存 rss,  rsz,  rssize 线性内存 vsz,  vsize VIRT VIRT 进程占用CPU %cpu %CPU CPU% 进程状态 state,  S S S 物理内存使用 %mem,RES MEM%,  RES 共享内享 SHR SHR 进程已使用CPU时长 time,  cputime TIME+ TIME

进程查看及命令使用-htop/dstat/top/ps命令

进程是linux用来表示正在运行的程序的一种抽象概念,程序内存的使用,处理器时间和I/O资源就是通过这个对象进行管理和监视的. 一个程序要先运行在用户空间,当他需要去使用硬件资源的时候,就不得不去调动内核才能取得使用权,这时候调动内核,进入内核空间,当内核处理完毕需求之后,将指令返回给用户,一个调用完成. 进程会以时间片段在CPU运行的,CPU以一根时间线被划分成无数个片段:当一个进程运行到某个阶段,需要暂时终止的时候,需要保存一个进程运行的现场,叫保存现场:执行到某片段的时候,需要中断,当再需

进程管理

一.进程 1.概念 内核的功用:进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程 UID.GID.和SELinux语境决定对文件系统的存取和访问权限, 通常从执行进程的用户来继承 存在生命周期 task struct:Linux内核存储进程信息的数据结构格式 task list:多个任务的的taskstruct组成的链表 进程创建: init:第一个进

Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用

一.高可用的Session服务器场景简介 1.1 应用服务器的无状态特性 应用层服务器(这里一般指Web服务器)处理网站应用的业务逻辑,应用的一个最显著的特点是:应用的无状态性. PS:提到无状态特性,不得不说下Http协议.我们常常听到说,Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对象中的所有信息外,该环境不保存与会话有关的任何信息.之所以我们在使用ASP.NET WebForm开发中会感觉不到Http的无状态特