Asp.net的sessionState四种模式配置方案

sessionState节点的配置

web.config关于sessionState节点的配置方案,sessionState有四种模式:off,inProc,StateServer,SqlServer。

1、off模式

从字面上就可以看出这个是关闭模式,如果当前页面不需要session的值,为了减少服务器资源,你可以去掉Session的开销。

<sessionState mode="off">或者页面上

<%@ Page EnableSessionState="false" %>来关闭Session。

2、inProc模式(缺省模式)

它允许“无Cookie”的会话,以及在服务器之外存储
会话数据。ASP.NET会话状态模块在Web.config文件中像下面这样配置:

<sessionState mode="InProc" cookieless="false" timeout="20" />

在这个例子中,mode属性设为InProc(默认值),表明会话状态要由ASP.NET存储到内存中,而且
不用Cookie来传递会话ID。采取这种方式,不管Cookie还是隐藏表单字段都用不着了。
所以,即使网页中没有使用表单,也能加入会话。 但是这种方法,应用程序的状态将依赖于 ASP.NET进程, 当IIS进程崩溃或者正常重启时,保存在
进程中的状态将丢失。

3、StateServer会话管理mos

将mode属性设为StateServer,也就是将会话数据存储到单独的内存缓冲区中,再由单独一台机器上运行

的Windows服务来控制这个缓冲区。状态服务全称是“ASP.NET State Service ”(aspnet_state.exe),计算机管理-服务 里面即可看到此服务,启动该服务j

它由Web.config文件中的stateConnectionString属性来配置。该属性指定了服务所在的服务器,以及要监

视的端口:
<sessionState mode="StateServer"
stateConnectionString="tcpip=myserver:42424"
cookieless="false" timeout="20" />

在这个例子中,状态服务在一台名为myserver的机器的42424端口(默认端口)运行。要在服务器上改变

端口,可编辑HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters注册表项中的Port值。

显然,使用状态服务的优点在于进程隔离,并可在Web farm(网站群)中共享。 使用这种模式,会话状态的存储将不

依赖于iis进程的失败或者重启,然而,一旦状态服务中止,所有会话数据都会丢失。换言之,状态服务不

像SQL Server那样能持久存储数据;它只是将数据存储在内存中。

4 用SQL Server进行会话管理

ASP.NET还允许将会话数据存储到一个数据库服务器中,方法是将mode属性变成SqlServer。
在这种情况下,ASP.NET尝试将会话数据存储到由sqlConnectionString属性(其中包含数据源以及登录服

务器所需的安全凭证)指定的SQL Server中。

为了用恰当的数据库对象来配置SQL erver,管理员还需要创建ASPState数据库,
方法是运行WinDir\Microsoft.Net\Framework\Version文件夹中的InstallSqlState.sql脚本(WinDir是服务

器的Windows文件夹,而Version是你使用的.NET框架版本的安装文件夹)。

要配置SQL服务器,可以在命令行中运行SQL Server 提供的命令行工具osql.exe

osql -S [ server name] -U [user] -P [password] -i InstallSqlState.sql
例如
osql -S (local)\NetSDK -U sa -P "" -i InstallSqlState.sql

在这里用户名必须是SQL服务器上的sa帐号,或者具有同等权限的其他帐号。有兴趣的读者可以打开
这个脚本文件来了解ASP.NET是如何和SQL Server配合实现状态管理的。

卸载这些表和存储过程,可以使用UninstallSqlState.sql脚本,使用方法与上面类似。做好必要的数据库准备工作后,将web.config 文件中的sessionstate 元素的mode改为"sqlserver"
,并且指定SQL连接字符串。具体如下:

mode="sqlserver"
sqlConnectionString="data source=127.0.0.1; userid=sa; password="

配置好SQL Server后,应用程序代码运行时就和InProc模式没有什么区别。但要注意的是,由于数据不存储在本地内存,所以存储会话状态的对象需要进行序列化和反序列化,以便通过网络传给数据库服务器,以及从数据库服务器传回。这当然会影响性能。通过在数据库中存储会话状态,可分别针对扩展性及可靠性来有效地平衡性能。另外,可以利用SQL Server的集群,使状态存储不依赖于单个的SQL Server, 这样就可以为应用程序提供极大限度的可靠性。

时间: 2024-08-03 22:14:16

Asp.net的sessionState四种模式配置方案的相关文章

旅游景区“影视营销”的四种模式

最近<变形金刚3>热映,公众在欣赏这部科幻大片的同时,对于影视植入式广告也有了更为深刻的认识.说到植入式广告,旅游景区应该算得上是早期的尝试者了. 就目前的情况看,旅游景区已经从最初默默提供拍摄外景地逐步走向更为积极主动的"影视营销".景区"影视营销"在国内目前还是比较前卫的营销手段,涌现出了几种不同的模式.以下是同程网景区营销专家对景区"影视营销"四种模式的分析. 模式一:提供拍摄地,长期捆绑热播影视剧的品牌效应 优点:运作简单,投

现代农业发展的四种模式及五点启示

中国农科院农业经济与发展研究所现代农业研究室主任蒋和平: 一. 龙头企业带动型 所谓龙头企业带动型的模式,是指由龙头企业作为现代农业开发和经营主体,本着"自愿.有偿.规范.有序"的原则,采用"公司+基地+农户"的产业化组织形式,围绕一个产业或产品,实行生产资料供应.生产加工.销售一体化经营,并通过向农民租赁土地使用权,将大量分散在千家万户农民的土地纳入到企业的经营开发活动中,形成龙头连基地.基地连农户的产业化.商品化.规模化生产经营格局.这种由龙头企业建立生产基地,

android-关于 Android的launchMode 四种模式咨询

问题描述 关于 Android的launchMode 四种模式咨询 希望实现:A页面为根Activity,其他B.C.D 页面在前台显示时按返回键后均回到A页面. 已通过重写onBackPressed()实现,想练习下通过 launchMode来实现,测试了好久一直没成功,**求大神指导下思路~**: 目前已实现情况,将B的launchMode设置为"singleTask"这样,执行 BCDB之后,按返回键可以返回A页面. 问题:不知道该怎么分别设置B.C.D的launchMode实现

商业银行进军PE巧避直投禁令:四种模式介入开辟突破口

统计数据显示,近5年来,国内股权基金投资项目近6000个,而项目退出仅不到2000个,存量项目趿000个〿/p> 商业银行对经营PE业务已觊觎多年,但目前限于政策,不能直接进入私募股权投资基金市场.尽管如此,据记者了解,目前商业银行还是想尽一切办法"曲线救国".比如政策怿a href="http://news.pedaily.cn/industry/银行/" target=_blank>银行在股权投资及设立PE基金方面已有所尝试,国家开叿a href=&

Android 访问文件权限的四种模式介绍_Android

Linux文件的访问权限 * 在Android中,每一个应用是一个独立的用户 * drwxrwxrwx * 第1位:d表示文件夹,-表示文件 * 第2-4位:rwx,表示这个文件的拥有者(创建这个文件的应用)用户对该文件的权限 * r:读 * w:写 * x:执行 * 第5-7位:rwx,表示跟文件拥有者用户同组的用户对该文件的权限 * 第8-10位:rwx,表示其他用户组的用户对该文件的权限 openFileOutput的四种模式 * MODE_PRIVATE:-rw-rw---- * MOD

浅析传统企业网络营销四种模式

中介交易 SEO诊断 淘宝客 云主机 技术大厅 从门户到论坛.从博客到微博.从搜索到SNS.从播客到推客.从威客到切客--网络创新越来越快,网络新产品层出不穷,网络商机诱惑无限.SEO.博客营销.论坛营销.话题炒作.病毒营销,网络成功的神话一直不断上演,网络营销看起来是风光无限好. 于是各种跟风做网络营销的企业也是层出不穷.可是,大多数企业没有真正思索过,自己企业的业务是否适合通过网络营销来做?自己的核心竞争力在哪?自己应该通过什么方式开展网络营销,想达到什么目的?更不清楚网络营销到底能帮助自己

中国式创新:四种模式与四个心态

改革开放三十年,随着人民币升值和劳动力成本的一步步提高,从"中国制造"到"中国创造"的转型越来越急迫!中国的时代转型倚重于创新,但对于"创新"的解读,却是见仁见智.这里不妨戏说一下:中国式创新的四种模式,以及模式背后的四种心态. Ⅰ 危创新:丛林草莽心态 危创新,说白了就是违反道德底线,甚至违反法律约束的所谓"创新"--从黑社会到黄赌毒,从盗版光碟到软件外挂和劫持,从食品掺假到媒体抹黑和幕后操纵,从资历作假到知识产权盗用,处处

地方网站切入传统服务业的四种模式

谢谢PHPwind为我们提供这样的交流机会.站在这个台我有压力,为什么?因为在座的都是创业者,都是老板,我是一位http://www.aliyun.com/zixun/aggregation/1955.html">职业经理人,也就是打工者,打工者给老板讲课,聊的还是有关创业的话题,有点本末倒置了. 传统服务业存在的四个问题 今天要谈的话题是地方网站切入传统服务业的方法.我们一提电子商务,大家更多的印象是网购书.买衣服.买电视.买化妆品,事实上电子商务还有更大的一块领域在等着我们,如携程所提

小知识:SPI四种模式区别【转】

转自:http://home.eeworld.com.cn/my/space-uid-80086-blogid-119198.html spi四种模式SPI的相位(CPHA)和极性(CPOL)分别可以为0或1,对应的4种组合构成了SPI的4种模式(mode) Mode 0 CPOL=0, CPHA=0 Mode 1 CPOL=0, CPHA=1Mode 2 CPOL=1, CPHA=0 Mode 3 CPOL=1, CPHA=1 时钟极性CPOL: 即SPI空闲时,时钟信号SCLK的电平(1:空