.net设置用户登录CACHE过期时间
2016-12-15 15:01
417 查看
客户需求要24小时页面不需要重新登录。改动如下。。
<configuration>
<system.web>
<pages validateRequest="false" controlRenderingCompatibilityVersion="4.0" />
<httpHandlers>
<add verb="GET" path="/code.aspx" type="DME.Web.Common.DMEWeb_ValidateImg,DME.Web" />
</httpHandlers>
<compilation targetFramework="4.5" />
<!--<httpRuntime targetFramework="4.5"/>-->
<sessionState mode="StateServer" cookieless="false" timeout="1440"/>
</system.web>
<appSettings>
还有要把服务启动里面的ASP.NET State Service设置为自动启动
开发asp.net应用时,修改web.config中的SessionState节点。
stateserver模式:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data
source=127.0.0.1;Trusted_Connection=yes"cookieless="false" timeout="120"/>
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data
source=127.0.0.1;Trusted_Connection=yes"cookieless="false" timeout="120"/>
InProc模式
优点:获取session状态的速度快,session状态直接存储在iis的进程中。
缺点:易丢失,经常需要重新登录
StateServer模式
优点:session状态单独存储在一个进程中,不会因为iis或者应用的重启而丢失状态
缺点:获取session状态的速度比InProc慢一些,毕竟是两个不同的进程。
在开发的时候,对应用有一点修改,就会导致应用的重启,这时候如果使用InProc模式
,那么每次都需要重新登录,比较浪费时间.建议使用StateServer模式。并在iis里面设置超时时间长一些。
注:使用StateServer模式的时候
1、要开启“ASP.NET State Service”服务(设为“自动”)
2、如果stateConnectionString的值不是127.0.0.1或者localhost等代表本地地址的值,需要修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state \Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(1
为允许远程电脑的连接,0 代表禁止)→ 设置 Port (端口号)
3、session中存储非序列化的对象,如果违反会抛出 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET
将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。这样的异常。如果向session存储自定义的对象,那么该对象的类上一定要加上[Serializable]注释。
<configuration>
<system.web>
<pages validateRequest="false" controlRenderingCompatibilityVersion="4.0" />
<httpHandlers>
<add verb="GET" path="/code.aspx" type="DME.Web.Common.DMEWeb_ValidateImg,DME.Web" />
</httpHandlers>
<compilation targetFramework="4.5" />
<!--<httpRuntime targetFramework="4.5"/>-->
<sessionState mode="StateServer" cookieless="false" timeout="1440"/>
</system.web>
<appSettings>
还有要把服务启动里面的ASP.NET State Service设置为自动启动
开发asp.net应用时,修改web.config中的SessionState节点。
stateserver模式:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data
source=127.0.0.1;Trusted_Connection=yes"cookieless="false" timeout="120"/>
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data
source=127.0.0.1;Trusted_Connection=yes"cookieless="false" timeout="120"/>
InProc模式
优点:获取session状态的速度快,session状态直接存储在iis的进程中。
缺点:易丢失,经常需要重新登录
StateServer模式
优点:session状态单独存储在一个进程中,不会因为iis或者应用的重启而丢失状态
缺点:获取session状态的速度比InProc慢一些,毕竟是两个不同的进程。
在开发的时候,对应用有一点修改,就会导致应用的重启,这时候如果使用InProc模式
,那么每次都需要重新登录,比较浪费时间.建议使用StateServer模式。并在iis里面设置超时时间长一些。
注:使用StateServer模式的时候
1、要开启“ASP.NET State Service”服务(设为“自动”)
2、如果stateConnectionString的值不是127.0.0.1或者localhost等代表本地地址的值,需要修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state \Parameters 节点 → 将 AllowRemoteConnection 的键值设置成“1”(1
为允许远程电脑的连接,0 代表禁止)→ 设置 Port (端口号)
3、session中存储非序列化的对象,如果违反会抛出 无法序列化会话状态。在“StateServer”或“SQLServer”模式下,ASP.NET
将序列化会话状态对象,因此不允许使用无法序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“Custom”模式下执行了类似的序列化,则适用同样的限制。这样的异常。如果向session存储自定义的对象,那么该对象的类上一定要加上[Serializable]注释。
相关文章推荐
- 设置前台用户登录过期时间
- 在设置iis windows身份验证,出错:登录失败:用户帐户限制。可能的原因包括不允许空密码登录时间限制或强制的策略限制。
- 设置域用户帐户的登录时间
- 页面缓存,cache,设置缓存过期时间,OutputCache
- Java设置session超时(失效)的时间 在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session 具体设置的方法有三种:
- linux下如何设置用户密码过期时间
- 设置 Cache 的过期时间
- [置顶] 页面缓存,cache,设置缓存过期时间,OutputCache
- PHP设置会话(Session)超时过期时间实现登录时间限制
- PHP设置会话(Session)超时过期时间实现登录时间限制
- pgrep命令_Linux pgrep 命令用法详解:设置用户的认证信息,包括用户密码、密码过期时间等
- 设置 Cache 的过期时间
- MYSQL 储存过程 用户登录更新token创建时间,过期时间,账户是否冻结
- 修改wordpress用户登录cookie过期时间
- Linux如何设置用户密码过期时间
- IIS设置CACHE过期时间的教程
- .NET实现单个或几个Session过期时间设置简单方案
- WordPress 修改的用户登录 Cookie(Auth Cookie) 过期时间并
- .NET中DateTime时间格式转换(附用户定义格式)
- LFS中用户登录脚本、xinit与xdm启动应用程序(输入法)的快速设置