仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 553|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET教程之ASP.NET中session存储形式使用

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?在ASP.NET中的Session存储体例不象asp那样单一,一共供应了三种存储体例,因为比来一个2000多人利用的web软件呈现了妨碍,用户天天早上在某一时候呈现难以上岸征象,接着Session丢值呈现,只要重启IIS,或呆板.这时候程序恢复一般了.成天都不会呈现一样的成绩,可是第二天仍旧!这类征象延续了好几天,我反省了一下日记文件,岑岭每秒会见人数也许20人摆布,同时也许100多人在线,今后会见人数还会增添,为懂得决这个怪成绩,先从软件动手,故而三种体例都使用了一番。翻开web.config文件
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="datasource=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.NETStateService的服务,启动它.而且改成主动启动。这时候你能够在义务办理器中看到一个名为aspnet_state.exe的历程。这就是我们保留session信息的历程。
然后,回到web.config文件中把Mode的值改成StateServer,保留文件。OK.
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="datasource=192.10.78.76;
Userid=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;
userID=sa;
MaxPoolSize=6000;
MinPoolSize=5;
Pooling=True”
最初把Machine.config中的ProcessModel中的memoryLimit改成95,默许为60,暗示内存占用凌驾60%后iis历程会主动重起。接着还做写别的一些优化IIS的办法,把注册表的IIS缓存加年夜等等。
当我做完这些优化步骤后,全部软件运转对照优秀,第二天没有发明梗塞的征象,可是第三天情形又呈现了,其实没举措,我接纳了最初一种ASP.NET中的session存储办法就是将Session存储在SQLServer中,我想如许不乱性应当强些。
要利用SQLServer中,起首在会话形态的SQLServer的盘算机上,运转InstallSqlState.sql或InstallPersistSqlState.sql(默许地位:systemrootMicrosoft.NETFrameworkversionNumber上面)两个剧本都创立一个名为ASPState的数据库,两个剧本的不同在于安排ASPStateTempApplication和ASPStageTempSessions表的地位。InstallSqlState.sql剧本将这些表增加到TempDB数据库,该数据库在盘算机重起时将丧失数据,而InstallPersistSqlState.sql剧本将这些表增加到ASPState数据库,该数据库重启时保存会话数据。
然后在使用程序的web.config文件中,把<sessionState>元素的mode属性设置为SQLServer,最初将sqlConnectionString属性设置为IntegratedSecurity=SSPI;datasource=serverName;
<sessionStatemode="SQLServer"
sqlConnectionString="IntegratedSecurity=SSPI;
datasource=dataserver;
"cookieless="false"timeout="20"
/>
</sessionState>
假如部署在其他呆板上能够变动为,加上用户名和暗码
<sessionState
mode="SQLServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="datasource=192.10.78.76;
Userid=sa;password=sa"
cookieless="false"
timeout="20"/>
如许部署完成了,假如不想利用这类能够删撤除,只需在响应的目次(systemrootMicrosoft.NETFrameworkversionNumber)找到UninstallPersistSqlState.sql大概UninstallSqlState.sql文件运转便可。如许就先容了ASP.NET中的session存储形式。
最初要注重的是,不管利用StateServer大概SQLServer形式时,当利用session转换工具时,注重工具要先序列化,就是在类前加上Serializable,不然会呈现毛病!
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。
莫相离 该用户已被删除
沙发
发表于 2015-1-19 10:36:46 | 只看该作者
众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
不帅 该用户已被删除
板凳
发表于 2015-1-25 10:15:45 | 只看该作者
可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-2 21:38:50 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
乐观 该用户已被删除
5#
发表于 2015-2-8 06:55:49 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
金色的骷髅 该用户已被删除
6#
发表于 2015-2-24 21:51:40 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
活着的死人 该用户已被删除
7#
发表于 2015-3-7 13:49:43 | 只看该作者
当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。
分手快乐 该用户已被删除
8#
发表于 2015-3-15 07:31:10 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
只想知道 该用户已被删除
9#
发表于 2015-3-21 21:24:47 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 02:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表