ASP.net状态服务器使用
最近在开发一.NET4.0系统时经常发生session丢失问题,导致用户频繁登陆,给客户造成不良的用户体验。应项目经理号召尽快解决此问题。
一、问题描述。
服务器:windows server 2003
硬 件:刀片机上的虚拟主机
环 境:mvc + oracle
具体描述:在我们公司自己的内部测试虚拟机上运行正常的测试服务器,把代码部署到正式环境中,在实际使用中发现,用户登录后不到20分钟就就掉线。频率很高。
二、解决方案。
解决方案一
刚开始以为是IIS设置的session超时时间太短导致系统自动回收了session,因此调整web.config的超时时间并同时修改IIS应用程序池的高级配置,设置回收的固定时间间隔的时长。设置过后观察一天,发现session丢失现有没有缓解。跟原来一样丢失严重。未能解决问题。开始并不是session设置时长的问题导致的session回收。原因排除。
解决方案二
既然不是因为session设置时长问题导致,那应该是IIS自动重启或内存回收导致的。因此想到单独把session放到单独的内存中去,看看是不是这个原因,由于程序开始并未考session丢失这种情况,因此在代码中都没有在使用session的地方打上[Serializable]标签,因此先在entity实体模型上打上标签。
打开服务,在服务中找到ASP.NET 状态服务,将启动类型设置自动,并右击设置为启动。启动相关的服务。
回到web.config设置<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="1440"/>,把session的模式设置为StateServer。
发布系统到正式环境观察,观察发现,在使用了ASP.NET状态服务后,登陆的session丢失问题解决,用户的session不在丢失。
三、总结
在开发系统过程中,经验不足,未考虑到测试环境和正式环境的差异,可能由于硬件软件条件不一样导致不同的结果,系统设计不合理,大量使用了session但是使用了IIS自己的内存管理机制,未考虑丢失情况,若刚开始使用第三方缓存来模拟session机制,如:memerbcach等。遇到问题通过不同方案定位原因,采用相应方案解决问题。
ASP.net状态服务器使用的更多相关文章
- Asp.Net进程外Session(状态服务器Session、数据库Session)
介绍 我们知道,当浏览器关闭,或者网站重启的时候,会话就结束了.即Seesion就丢失了.(当Web.config配置文件改动,哪怕什么内容都不加,仅仅往配置文件中加一个空格都是改we.config变 ...
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...
- 转:无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
今天看到一篇文章感觉不错,收藏转载下. 原文地址:http://blog.csdn.net/sntyy/article/details/2090347 版权为原作者所有 无法向会话状态服务器发出会话状 ...
- 无法向会话状态服务器发出会话状态请求请。确保 ASP.NET State Service (ASP.NET 状态服务)已启动
原文链接:http://www.cnblogs.com/IT-Bear/archive/2012/01/04/2311546.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET S ...
- 使用IIS服务器部署网页,需要开启服务里的“ASP.NET 状态服务”
否则会提示“请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同.如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHI ...
- ASP.NET 状态服务 及 session丢失问题解决方案总结
ASP.NET2.0系统时,在程序中做删除或创建文件操作时,出现session丢失问题.采用了如下方法:1.asp.net Session的实现:asp.net的Session是基于HttpModul ...
- [转]ASP.NET 状态服务 及 session丢失问题解决方案总结
转自[http://blog.csdn.net/high_mount/archive/2007/05/09/1601854.aspx] 最近在开发一ASP.NET2.0系统时,在程序中做删除或创建文件 ...
- 转载ASP.NET 状态管理Application,Session,Cookie和ViewState用法
转载原地址 http://www.cnblogs.com/cuishao1985/archive/2009/09/24/1573403.html ASP.NET状态管理 APPlication,Ses ...
- ASP.NET状态服务及session丢失问题解决方案总结
原文:ASP.NET状态服务及session丢失问题解决方案总结[转载] asp.net Session的实现: asp.net的Session是基于HttpModule技术做的,HttpModule ...
随机推荐
- mybatis中表与表之间的关联
第三天 1.mybatis处理表与表之间的关系? 比如要在帖子回复表里显示其它两张相关联表的信息. 处理的第一种方式: 1)主要的数据实体类是ReplyInfo,相关联的实体表的数据是TitleInf ...
- 【笔记】memorymanagement-whitepaper-150215
3 GC概念 Gc的职责: 1) 分配内存 2) 保证被引用的对象驻留内存 3) 对象不可达后将其占用内存回收 被引用对象被称为 “存活对象”. 不再被引用的对象称为“垃圾对象”. 找到垃圾对象 ...
- 理解Java Integer的缓存策略
转载自http://www.importnew.com/18884.html 本文将介绍 Java 中 Integer 缓存的相关知识.这是 Java 5 中引入的一个有助于节省内存.提高性能的特性. ...
- mybatis报invalue types()错误
错误信息: Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class cn.qd.mybat ...
- AOP实现原理
Spring 为解耦而生,其中AOP(面向切面编程)是很浓重的一笔. 本文来探讨一下AOP实现的原理. 一. 概述 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负 ...
- Angular JS将数据显示为两列(html)
(数据为Array数组)使用AngularJS中ng-show="{{}}",其将数据按行分为奇数行和偶数行,$even是判断是否为奇数行[如果是则为true,不是则为false] ...
- ios xcode 下 报出 ”xx“is missing from working copy 的问题
在项目中提交过svn后,再在本机上删除不用的图片资源后,build后会有 ”xx“is missing from working copy 的警告.在网上找了些资料后,总结下. 直接在终端下用s ...
- C#匿名函数的坑
在for循环中catch索引 for (int i = 0; i < n; i++) { foo(() =>{ if (i == x) //这里的i始终都是最后一个... { //bala ...
- blog搬迁
因为一些个人原因,2年后继续写blog,但是blog搬到github上!具体的地址为: http://www.94geek.com 内容以linux的c开发,分布式存储和分布式计算,还有架构为主.
- mobaxterm ssh command
ssh -qTfnNg -D 7070 demouser@echo.supportedns.com -p 2233