文档章节

ASP.NET:关于session超时和丢失问题

开源中国首席老王
 开源中国首席老王
发布于 2014/10/28 15:00
字数 715
阅读 327
收藏 4

最近遇到一个问题,就是session超时的问题,其实一开始我想的是很简单的,直接在程序里写道
protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Session.Timeout = 120;
        }
    }
 其实我不知道这样管用不管用,百度了下,好像是需要设置webconfig的,这样好像不行,所以又找到一种方法

1  <sessionState mode="InProc" cookieless="false" timeout="60"></sessionState>
 这个是可以解决超时问题的,但是这个极不安全,vs.net默认设置
 相当于把session交给IIS的进程管理,IIS的不稳定性将导致Session频繁丢失
 
2 sessionState mode='StateServer'是建立独立的Session的服务进程管理方式模式,
 这样不受IIS的进程本身的不稳定影响,不容易导致session丢失,
 这样可以实现多个asp.net的站点的session 共享。
 
 然后我考虑这个方法,重新设置了一下webconfig
 <sessionState mode="StateServer"
      stateConnectionString="tcpip=127.0.0.1:42424"
      cookieless="false"
      timeout="60"/>
   但是这个要启动一个服务的,管理工具-服务-ASP.NET state service 启动就好了。
   在本机是没有什么问题的,但是传到服务器,问题就出现了,这个IP和端口问题,不知道该怎么修改。
  其实这个方法算是可以了,但是我们这里只有虚拟主机,没有自己的服务器,所以我没有办法启动服务器上的这个服务,只好作罢。
 
  其实也许可以设置,就是要换成服务器的IP,但是还要修改端口:

  aspnet_state的服务端口的修改:
  aspnet_state端口编辑    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters注册表项中的Port值。
   但是我不太懂,要怎么样具体操作的,所以暂时放下了。
3 同时还有一种方式是将session保存到数据,。即便服务重新启动,session也不会丢失。网站的稳定性还是比较重要的。微软的默认设置是最差的。 
   这个方式没有研究的,因为公司一直要求我用的access的。
这是这三个属性的具体描述

InProc 会话值在 ASP.NET 辅助进程(Microsoft® Windows Server™ 2003 中的 aspnet_wp.exew3wp.exe)的内存中保持为活动对象。这是默认选项。
StateServer 会话值被序列化并存储在单独进程 (aspnet_state.exe) 的内存中。该进程还可以在其他计算机上运行。
SQLServer 会话值被序列化并存储在 Microsoft® SQL Server™ 表中。SQL Server 的实例可以在本地运行,也可以远程运行。



但是还是要修改的,只好采用了第一种方法,其实都是因为硬件原因导致这些东西,boss不可能因为我一句话就去买个服务器的,所以,只好另辟蹊径了……

本文转载自:http://www.cnblogs.com/yiranleguan/archive/2009/08/20/1550767.html

开源中国首席老王

开源中国首席老王

粉丝 12
博文 45
码字总数 2619
作品 0
广州
程序员
私信 提问
(转)Asp.Net处理Session失效解决方案

检查ASP.NET Session是否失效,是否超时,默认是20分钟,设置的方法是Session.TimeOut=30;或者您可以设置到更高,这个数值的单位是分钟,大家视情况而定。 检查代码有无Session.Abandon()之类的...

冰点沐雪
2013/01/14
0
0
关于c# SESSION丢失问题解决办法

我们在用C#开发程序的时候经常会遇到Session很不稳定,老是数据丢失。下面就是Session数据丢失的解决办法希望对您有好处。 1、在WEB.CONFIG文件中修改SESSION状态保存模式,如:...

王磊的博客
2010/12/13
0
0
​浅谈Asp.net的sessionState

浅谈Asp.net的sessionState Three Session State providers : InProcSessionStateStore, which stores session state in memory in the ASP.NET worker process OutOfProcSessionStateStore......

KavenSu
2014/10/14
0
0
使用 SQL Server In-Memory 存储 ASP.NET 的会话状态

从以前的 “classic” ASP 到目前的 ASP.NET 4.5 Web Forms,很多开发者依赖ASP.NET 会话状态作为重要的临时保存每个用户的数据的主要手段。 它的特征是在用户访问web应用程序的过程中,允许...

oschina
2014/07/08
2.5K
6
Session服务器配置指南与使用经验

一.摘要 所有Web程序都会使用Session保存数据. 使用独立的Session服务器可以解决负载均衡场景中的Session共享问题.本文介绍.NET平台下建立Session服务器的几种办法, 并介绍在使用Session时的...

KavenSu
2014/10/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

ant 中的fileset include等拷贝

拷贝一个目录到指定目录下 例:<copy todir="${basedir}/new"> <fileset dir="${basedir}/old"> <include name="appgen" /> <include name="appgen/" /> <include name=appgen/**" /> <incl......

shzwork
11分钟前
1
0
react-jianshu项目的创建

创建项目 1、github上创建仓库react-jianshu 2、将项目克隆到本地git clone git@github.com:startjcu/react-jianshu.git 3、在当前目录(项目目录的上级目录)下执行create-react-app react-...

星闪海洋
20分钟前
2
0
OSChina 周二乱弹 —— 小哥哥,你可以教我写代码吗

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @nnnm: 生活大爆炸,结束了,这部陪伴了漫长时间的情景喜剧,最终是以诺贝尔奖和大团圆收尾的。虽然,不算精彩,但也是温馨。而少年谢尔顿的...

小小编辑
今天
235
11
typescript 接口 函数类型 可索引类型

函数类型 可索引类型 数字索引签名 字符串索引签名 数字索引签名返回值 必须是 字符串索引签名返回值的子集 只读索引签名

lilugirl
今天
3
0
Oracle SQL语法实例合集

如需转载请注明出处https://my.oschina.net/feistel/blog/3052024 目的:迅速激活Oracle SQL 参考:《Oracle从入门到精通》 ------------------------------------------------------------......

LoSingSang
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部