首页 > 语言 > 关键词 > ASP.NET最新资讯 > 正文

.Net基础:ASP.NET中的session存储模式运用

2009-08-19 09:33 · 稿源:

在asp.net中的Session存储方式不象asp那样单一,一共提供了三种存储方式,由于最近一个2000多人使用的web软件出现了故障,用户每天早上在某一时刻出现难以登陆现象,接着Session丢值出现,只有重启IIS,或机器.这时程序恢复正常了.整天都不会出现同样的问题 ,但是第二天依旧!这种现象持续了好几天,我检查了一下日志文件,高峰每秒访问人数大概20人左右,同时大概100多人在线,以后访问人数还会增加,为了解决这个怪问题,先从软件着手,故而三种方式都应用了一番。

打开web.config文件
< sessionState

mode="InProc"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"

cookieless="false"

timeout="20"

/>

其中默认的mode是InProc类型,这种模式和以前ASP模式一样,就是服务器将Session信息存储在IIS进程当中,当IIS关闭、重起后这些进程信息都会丢失,但这种模式的性能最高(具体没测,看书上说),这种模式是asp.net的默认方式。

由于这种模式出现了故障,当时我的考虑就是由于访问量过大的原因,导致Inetinfo.exe进程崩溃。用户难以登陆以致Session丢值出现故障,我采用了另外一种Session的存储方式把Session信息存储在进程外。

首先,打开管理工具找到服务,找到名为:asp.net State Service的服务,启动它.并且改成自动启动。这时你可以在任务管理器中看到一个名为aspnet_state.exe的进程。这就是我们保存session信息的进程。

然后,回到web.config文件中把Mode的值改为StateServer,保存文件。OK.

< sessionState

mode="StateServer"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=192.10.78.76;User id=sa;password=sa"

cookieless="false"

timeout="20"

/>

这种模式当我们重起IIS,保存的session值不会丢失。另外这种方式还可以把信息保存在其他机器的进程中,不过还要更改 stateConnectionString="tcpip=127.0.0.1:42424",IP地址改为其他机器即可。

另外还采取了其他的措施.比如把数据库和Web服务器分开,数据库服务器不提供WEB服务,Web服务器不提供数据库服务,

然后把连接池扩大,由于asp.net中ADO.NET数据访问默认连接池数量为100, 后来我扩大到6000顺便把写法加上来

“Server=(local);

Database=rgs;

password=sa;

user ID=sa;

Max Pool Size =6000;

Min Pool Size =5;

Pooling=True”


最后把Machine.config中的ProcessModel中的memoryLimit改为95,默认为60,表示内存占用超过60%后iis进程会自动重起。接着还做写其它一些优化IIS的方法,把注册表的IIS缓存加大等等 。

当我做完这些优化步骤后,整个软件运行比较良好,第二天没有发现堵塞的现象,但是第三天情况又出现了,实在没办法,我采取了最后一种ASP.NET中的session存储方法就是将Session存储在SQLServer中,我想这样稳定性应该强些。

要使用SQLServer中,首先在会话状态的SQLServer的计算机上,运行InstallSqlState.sql或InstallPersistSqlState.sql(默认位置:systemroot\Microsoft.NET\Framework\versionNumber下面)两个脚本都创建一个名为ASPState的数据库,两个脚本的差别在于放置ASPStateTempApplication和ASPStageTempSessions表的位置。InstallSqlState.sql脚本将这些表添加到TempDB数据库,该数据库在计算机重起时将丢失数据,而InstallPersistSqlState.sql脚本将这些表添加到ASPState数据库,该数据库重启时保留会话数据。

然后在应用程序的web.config文件中,把< sessionState>元素的mode属性设置为SQLServer,最后将sqlConnectionString属性设置为Integrated Security=SSPI;data source=serverName;

< sessionState mode="SQLServer" sqlConnectionString=" Integrated Security=SSPI;

data source=dataserver;"

cookieless="false"

timeout="20"/>

< /sessionState>


如果部署在其他机器上可以更改为,加上用户名和密码


< sessionState

mode="SQLServer"

stateConnectionString="tcpip=127.0.0.1:42424"

sqlConnectionString="data source=192.10.78.76;User id=sa;password=sa"

cookieless="false"

timeout="20"

/>

这样部署完成了,如果不想使用这种可以删除掉,只要在相应的目录(systemroot\Microsoft.NET\Framework\versionNumber)找到UninstallPersistSqlState.sql或者UninstallSqlState.sql文件运行即可。这样就介绍了ASP.NET中的session存储模式。

最后要注意的是,无论使用StateServer或者SQLServer模式时,当使用session转换对象时,注意对象要先序列化,就是在类前加上Serializable,否则会出现错误!

网友热搜:

  • 相关推荐
  • 大家在看
  • Esprinet以3400万欧元收购GTI

    [TechWeb]意大利批发商Esprinet宣布已与GTI达成协议,以购买该公司100%的股份。这项行动共计3380万欧元,将在当局于9月底批准时以现金支付。通过购买GTI,Esprinet凭借收入和与Tech Data的距离本身,成为西班牙市场上第一家批发商,该公司在过去几年中一直与该公司争夺排名第一的位置。此外,GTI将提供Esprinet,该公司在西班牙经营JoséMaríaGarcía(这是一项补充业务),该业务是通过云销售的软件,尤其是Microsoft的软件。?

  • Planet将通过SpaceX的火箭发射6颗Skysat卫星

    DoNews 6月10日消息(记者 刘文轩)据The Verge报道,卫星影像公司Planet将在6月和7月的两次卫星发射中,采用SpaceX的火箭,各运送3颗110kg重的卫星。至于价格,SpaceX则是以每公斤500美元的价格来计算,Planet发射副总裁Mike Safyan表示,SpaceX将发射费用压低到“难以置信”的程度。Planet原本运营着60颗中解析度卫星,2017年收购Google的Terra Bella卫星影像部门后,Planet拥有了7颗高解析度Skysat卫星。在这之后,Planet又发射

  • 日本动画电影《无限》线上首映 西瓜视频与Netflix全球同步播出

    【TechWeb】6月18日消息,今天下午6点,日本动画电影《无限》(又名《想哭的我戴上了猫的面具》)开启全球首映,在中国通过西瓜视频、抖音、今日头条平台上线。这是继BBC剧集《德古拉》后,西瓜视频再度实现与Netflix全球同步播出影视作品。届时,用户可在上述平台中付费观看该片。 公开资料显示,《无限》由日本著名导演佐藤顺一和柴山智隆联合执导,主要讲述女生笹木美代的青春奇幻故事,主打超萌轻甜治愈风格。绰号为“无限”?

  • 爱奇艺任命Netflix原副总裁郭又铨为副总裁 负责海外市场

    今日,爱奇艺宣布任命郭又铨为爱奇艺副总裁,负责爱奇艺在国际市场的战略规划、市场拓展、公共事务等工作。据悉,郭又铨加入后将带领团队建立爱奇艺海外市场中台运营体系,整合爱奇艺品牌、内容、技术、生态等资源,展开爱奇艺在海外市场的战略规划与开拓工作。

  • 华为云FusionAccess连续四年中国桌面云市场第一

    IDC最新研究数据显示,华为云FusionAccess桌面云一马当先,又一次斩获中国桌面云市场第一。这已经是自该报告2016年发布以来,华为连续第四年领跑中国桌面云市场,显示了客户对华为在桌面云市场多年来持续投入的认可。 IDC数据显示,华为不仅继续在其耕耘多年的政府市场持续领先,并且在金融、制造、能源等更多的行业也越来越受欢迎。同时期待FusionAccess基于华为鲲鹏生态会有更加优异的表现。 2020年,华为云FusionAccess针对日?

  • AppsFlyer 携手 Facebook Audience Network 推出业内首个广告系列层级应用内广告衡量方案

    助力游戏应用开发者进一步走向成功2020 年 6 月 3 日 北京 今天,全球归因领导者 AppsFlyer 宣布与 Facebook Audience Network 携手推出业内首个广告系列层级应用内广告变现收入花费回报衡量解决方案(campaign-level IAA ROAS measurement solution),这一方案特别为游戏开发者量身打造。通过将 Facebook Audience Network 群组用户产生的收入与获客渠道绑定,广告主能够精确优化获客策略,提升 ROAS (广告花费回报率)和 LTV(

  • playstation:请尽情享受以《刀剑神域:Alicization》为舞台的《UW》世界

    预定于 7 月 9 日(星期四)发售的“刀剑神域”游戏系列最新作、即将登陆PlayStation? 4 平台的“SWORD ART ONLINE Alicization Lycoris”游戏,是一款以原作和动画中看到的虚拟世界“Under World”为舞台,通过操作Kirito(桐人)在《Alicization》篇的世界中冒险的RPG游戏。故事再现了TV动画《Alicization》篇中前半战、从前半战最终话到游戏原创路线的分歧这一部分剧情。值得一提的是,该作故事内容不是原有的《Alicization》的

  • 撑不住了 SSD硬盘开启跌价模式:480GB只要280元

    最近618,大家有谁购买了SSD硬盘了没?各大厂商借着促销的名义开始降价,1TB M.2硬盘重新回到800元左右。这一波行情不只是因为促销,SSD市场开启跌价模式了,480GB报价从41美元跌至40美元。截

  • 抵制破解!索尼上线全新的PlayStation BUG悬赏计划

    游戏主机一直是黑客破解的重点,包括任天堂Switch和索尼PS4在内的现世代几大游戏主机,均不同程度上的遭遇了破解。索尼全新一代游戏主机PlayStation 5已经确定将于今年圣诞假期期间正式发布,为了不再重蹈此前的覆辙,索尼今日正式上线了新的PlayStation BUG悬赏计划,如果有开发者或者用户发现了PS系统以及线上服务的重大安全漏洞,索尼将会提供5万美元的现金奖励。据悉,索尼目前已经向发现PS漏洞的黑客

  • 朗科打造“朗系列”,起航国产化存储产品之路

    近日,中国移动存储第一股朗科科技发布了纯国产化SSD产品,从主控芯片、闪存颗粒、生产制造所有的环节均由中国企业完成,实现存储技术全自主化,加速存储产品国产化进程。本次发布的朗科国产化产品选用长江存储的存储颗粒和联芸科技的主控。长江存储是国家存储器基地项目实施主体公司, ,是当之无愧的国产NAND存储芯片突破者。 2019 年 9 月 2 日已开始量产基于Xtacking?架构(自主研发)的 64 层256 Gb TLC 3D NAND Flash,该产?

  • 微博黑色模式怎么开启 深色模式设置方法

    微博深色模式,也被叫做黑色模式或者夜间模式,现在已经正式上线,对于很多手机用户来说,夜间使用微博有了很好的选择,那么如何设置开启黑色模式呢,我们来看下具体的操作步骤。

  • 深信服EDS存储携手Intel,以技术手段“提性能、降成本”

    在存储的世界中,「高性能」与「低成本」似乎是一个“鱼与熊掌不可兼得”的命题。现在,伴随着深信服EDS联合Intel SPDK,二者不可兼得的时代或将终结。作为Intel在中国的SPDK合作伙伴之一,深信服企业级分布式存储EDS使用Intel SPDK为编程框架,设计了全新的存储引擎,合力将“高性能、低成本”的理想照进现实。这次合作中,深信服EDS基于SPDK开发套件设计的存储引擎,不仅充分发挥出Intel硬件的性能,还构筑起高性能、低成本的存储架构,这?

  • Serverless架构的前世今生

    一、Serverless简介云计算的不断发展,涌现出很多改变传统IT架构和运维方式的新技术,而以虚拟机、容器、微服务为代表的技术更是在各个层面不断提升云服务的技术能力,它们将应用和环境中很多通用能力变成了一种服务。但无论这些技术应用在哪里,帮助企业“降本增效”是技术变革永恒的主题。Serverless架构的出现,带来了跨越式的变革。Serverless下主机管理、操作系统管理、基础软件的部署运维、资源分配和扩缩容能力全部由云厂?

  • 和平精英娱乐模式什么时候开放 娱乐模式开启时间

    ​和平精英的娱乐模式很多玩家还不知道要什么时候才会开放,下面就来为大家分享一下本次娱乐模式的详细时间安排。

  • 和平精英SS8赛季手册寻宝行动全攻略 SS8赛季手册寻宝行动教程

    ​和平精英SS8赛季手册寻宝行动是新增的玩法,在其中可以获得非常多的奖励,但是一些玩家还不清楚怎么去玩寻宝行动,下面就来为大家分享一下和平精英SS8赛季手册寻宝行动全攻略。

  • 干细胞存储市场快速发展 博雅助力行业标准的建设

    干细胞库作为细胞制剂研发制备和细胞治疗的基础,是整个干细胞治疗产业的重要环节之一。干细胞库的建设已经被纳入我国“十三五”发展规划中。作为国内起步较早的博雅干细胞库,近年来已经成为市场上较为知名的品牌。随着新生儿干细胞的医用价值渐渐为人所知,博雅干细胞存储也越来越受关注。2016年12月,国务院颁布的《“十三五”国家战略性新兴产业发展规划》强调,依托并整合现有资源,建设一批创新基础平台,支持干细胞库的建设

  • 为iPhone 12上市做准备 台积电月底前投产A14 Bionic芯片

    综合当前比较可靠的消息,今年秋季苹果的年度旗舰iPhone 12系列将依旧提供iPhone 12、iPhone 12Max和iPhone 12 Pro、iPhone 12 Pro Max两个版本共四款机型。如今6月也接近尾声,距离iPhone 12系列旗舰的亮相又更近了一步。现在有最新消息,近日有媒体透露称,该机所要搭载的全新5nm A14芯片即将于本月底开始量产。据中国台湾媒体ePrice最新发布的消息显示,台积电预计在本月底之前开始量产iPhone 12系列所将首发搭载的?

  • 新兴黑马资本Block Vision Capital助力区块链生态建设

    Block Vision Capital区块愿景基金是一家于 2020 年初成立的新兴资本,专注于区块链资本市场的数字资产投资管理基金,是中国新兴的加密数字货币对冲基金和风险投资基金之一,致力于投资并帮助区块链行业中极具潜力与发展前景的企业,并间接完善区块链行业的基础设施与生态环境。高投资回报率惹圈内关注作为一家新兴的资本机构,Block Vision Capital区块愿景基金投资领域涉及数字资产服务平台、区块链投资孵化机构、区块链技术项目

  • PlayStation5 发布会 索尼PS5 硬件规格配置详细介绍

    索尼PlayStation 5 发布会于北京时间今天凌晨正式召开,传闻已久的主机外观也终于第一次亮相。与此同时,索尼还公布了第一批 PS5 游戏预告片,既有来自第一方工作室的 3A 大作,也有不少制作精良的独立游戏。

  • 和平精英SS8赛季手册全部奖励汇总 SS8赛季手册皮肤奖励一览

    ​和平精英的SS8赛季手册马上就要上线了,很多玩家还不清楚此次S8的赛季手册有什么内容,所以今天就来为大家分享一下和平精英SS8赛季手册全部奖励汇总。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议