|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。sessionSession丧失已是一种屡见不鲜的成绩了,在本人也懂得一些怎样办理的成绩,可是也一向没无机会往用,如今因为新的项目要在B/S下开辟,以是不能不让我思索Session的成绩。
办理session丧失的成绩有两种办法:1)将session保留在一台sateserver中。2)将session保留在sqlserver中。我们利用的数据库是oracle,不想再装一个数据库,以是用了第一种办法。
起首依据网上查的材料对webconfig文件中session部分举行修正。以下:
<sessionState
mode="StateServer"
cookieless="false"
timeout="240"
stateConnectionString="tcpip=10.164.222.122:42424"
stateNetworkTimeout="14400"
/>
<machineKey
validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4"
decryptionKey="5FC88DFC24EA123C"
validation="SHA1"
/>
然后再在10.164.222.122这台电脑上的asp.netstateserver服务启动
如许基础上就好了。体验一下。
我用了一个测试程序,在3个小时今后session仍旧可用,更尽的是我的电脑都重起了,在别的电脑上翻开的网页中session仍旧可用。一番体验今后,感到还真不错。
.NETFramework惯例参考
<sessionState>元素
为以后使用程序设置会话形态设置。
<configuration>
<system.web>
<sessionState>
<sessionStatemode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="numberofminutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sqlconnectionstring"
stateNetworkTimeout="numberofseconds"/>
必选属性
属性选项申明
mode指定在那里存储会话形态。
Off唆使会话形态未启用。
InProc唆使在当地存储会话形态。
StateServer唆使在远程盘算机上存储会话形态。
SQLServer唆使在SQLServer上存储会话形态。
可选属性
属性选项申明
cookieless指定不具有Cookie的会话是不是使用于标识客户端会话。
true唆使应利用不具有Cookie的会话。
false唆使不该利用没有Cookie的会话。默许值为false。
timeout指定在保持一个会话前该会话能够处于余暇形态的分钟数。默许值为20。
stateConnectionString指定远程存储会话形态的服务器称号和端口。比方“tcpip=127.0.0.1:42424”。当mode为StateServer时该属性是必须的。
sqlConnectionString为SQLServer指定毗连字符串。比方“datasource=localhost;IntegratedSecurity=SSPI;InitialCatalog=northwind”。当mode为SQLServer时该属性是必须的。
stateNetworkTimeout在利用StateServer形式存储会话形态时,指定在保持会话之前Web服务器和形态服务器之间的TCP/IP收集毗连余暇的工夫(以秒为单元)。默许值为10。
备注
利用StateServer形式
确保运转ASP.NET形态服务的服务器是要存储会话形态信息的远程服务器。该服务与ASP.NET一同安装,其默许地位为<驱动器>:systemrootMicrosoft.NETFrameworkversionaspnet_state.exe。
在使用程序的Web.config文件中,设置mode=StateServer并设置stateConnectionString属性。比方,stateConnectionString="tcpip=sarath:42424"。
利用SQLServer形式
在运转SQLServer的盘算机(它将存储会话形态)上运转InstallSqlState.sql(默许的安装地位为<驱动器>:systemrootMicrosoft.NETFrameworkversion)。这将创立一个名为ASPState的数据库,该数据库具有新的存储历程而且在TempDB数据库中具有ASPStateTempApplications表和ASPStateTempSessions表。
在使用程序的Web.config文件中,设置mode=SQLServer并设置sqlConnectionString属性。比方,sqlConnectionString="datasource=localhost;IntegratedSecurity=SSPI;InitialCatalog=northwind"。
示例
以下示例指定多少会话形态设置设置。
<configuration>
<system.web>
<sessionStatemode="InProc"
cookieless="true"
timeout="20"/>
</sessionState>
</system.web>
</configuration>
请求
包括于:<system.web>
Web平台:IIS5.0、IIS5.1、IIS6.0
设置文件:Machine.config、Web.config
设置节处置程序:System.Web.SessionState.SessionStateSectionHandler
请拜见
ASP.NET设置|ASP.NET设置架构|SessionStateModule
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。 |
|