ASP.net 中session 除了默认的30 分钟怎么能给设置更长的时间?

ASP.net 中session 除了默认的30 分钟怎么能给设置更长的时间?,第1张

Web.config文件中的Session配置信息

打开某个应用程序的配置文件Web.config后,我们会发现以下这段:

<sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

这一段就是配置应用程序是如何存储Session信息的了。我们以下的各种 *** 作主要是针对这一段配置展开。让我们先看看这一段配置中所包含的内容的意思。sessionState节点的语法是这样的:

<sessionState mode="Off|InProc|StateServer|SQLServer"

cookieless="true|false"

timeout="number of minutes"

stateConnectionString="tcpip=server:port"

sqlConnectionString="sql connection string"

stateNetworkTimeout="number of seconds"

/>

必须有的属性

属性 选项 描述

mode 设置将Session信息存储到哪里

Off 设置为不使用Session功能

InProc 设置为将Session存储在进程内,就是ASP中的存储方式,这是默认值。

StateServer 设置为将Session存储在独立的状态服务中。

SQLServer 设置将Session存储在SQL Server中。

可选的属性是:

属性 选项 描述

cookieless 设置客户端的Session信息存储到哪里

ture 使用Cookieless模式

false 使用Cookie模式,这是默认值。

timeout 设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟

stateConnectionString 设置将Session信息存储在状态服务中时使用的服务器名称和端口号,例如:"tcpip=127.0.0.1:42424”。当mode的值是StateServer是,这个属性是必需的。

sqlConnectionString 设置与SQL Server连接时的连接字符串。例如"data source=localhostIntegrated Security=SSPIInitial Catalog=northwind"。当mode的值是SQLServer时,这个属性是必需的。

stateNetworkTimeout 设置当使用StateServer模式存储Session状态时,经过多少秒空闲后,断开Web服务器与存储状态信息的服务器的TCP/IP连接的。默认值是10秒钟。

ASP.NET session时间的设置

方法一:

asp.net Session的默认时间设置是20分钟,即超过20分钟后,服务器会自动放弃Session信息.

当我们在asp.net程序中打开webconfig的时候,可以看到一段如下的代码:

Asp.net程序代码:

<sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

设置timeout="20"

ASP.NET session时间的设置方法二: 不过有时修改配置文件不能很好的解决这个问题。你可以在公共程序里Global.asax里修改。我们在找到global.asax中找到 Session_Start后 按如下设置一下就可以了。

void Session_Start(object sender, EventArgs e)

{

// 在新会话启动时运行的代码

Session.Timeout = 600

}

要是设置无效,,就参考一下http://www.2cto.com/kf/201102/83863.html

1是默认的,不用设置

session.timeout=60 ‘60分钟

后面的数字是指分钟数楼主可以自己计算

随便说下,3-5最好弄成COOKIES,我想除了服务器,普通用户不可能一个星期不关一次机。

另外SESSION过期时间长短并不是程序一方面决定的,以服务器的IIS的设置最长时间为准,默认就是20分钟。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/10919152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存