柔情似水 发表于 2015-1-16 22:33:44

ASP.NET编程:使Session不丧失的办法之一的体验

我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。sessionSession丧失已是一种屡见不鲜的成绩了,在本人也懂得一些怎样办理的成绩,可是也一向没无机会往用,如今因为新的项目要在B/S下开辟,以是不能不让我思索Session的成绩。
办理session丧失的成绩有两种办法:1)将session保留在一台sateserver中。2)将session保留在sqlserver中。我们利用的数据库是oracle,不想再装一个数据库,以是用了第一种办法。
起首依据网上查的材料对webconfig文件中session部分举行修正。以下:
<sessionState
mode="StateServer"
cookieless="false"
timeout="240"
stateConnectionString="tcpip=10.164.222.122:42424"
stateNetworkTimeout="14400"
/>
<machineKey
validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4"
decryptionKey="5FC88DFC24EA123C"
validation="SHA1"
/>
然后再在10.164.222.122这台电脑上的asp.netstateserver服务启动
如许基础上就好了。体验一下。
我用了一个测试程序,在3个小时今后session仍旧可用,更尽的是我的电脑都重起了,在别的电脑上翻开的网页中session仍旧可用。一番体验今后,感到还真不错。
.NETFramework惯例参考

<sessionState>元素
为以后使用程序设置会话形态设置。

<configuration>
<system.web>
<sessionState>

<sessionStatemode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="numberofminutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sqlconnectionstring"
stateNetworkTimeout="numberofseconds"/>
必选属性
属性选项申明
mode指定在那里存储会话形态。
Off唆使会话形态未启用。
InProc唆使在当地存储会话形态。
StateServer唆使在远程盘算机上存储会话形态。
SQLServer唆使在SQLServer上存储会话形态。

可选属性
属性选项申明
cookieless指定不具有Cookie的会话是不是使用于标识客户端会话。
true唆使应利用不具有Cookie的会话。
false唆使不该利用没有Cookie的会话。默许值为false。
timeout指定在保持一个会话前该会话能够处于余暇形态的分钟数。默许值为20。
stateConnectionString指定远程存储会话形态的服务器称号和端口。比方“tcpip=127.0.0.1:42424”。当mode为StateServer时该属性是必须的。
sqlConnectionString为SQLServer指定毗连字符串。比方“datasource=localhost;IntegratedSecurity=SSPI;InitialCatalog=northwind”。当mode为SQLServer时该属性是必须的。
stateNetworkTimeout在利用StateServer形式存储会话形态时,指定在保持会话之前Web服务器和形态服务器之间的TCP/IP收集毗连余暇的工夫(以秒为单元)。默许值为10。

备注
利用StateServer形式

确保运转ASP.NET形态服务的服务器是要存储会话形态信息的远程服务器。该服务与ASP.NET一同安装,其默许地位为<驱动器>:systemrootMicrosoft.NETFrameworkversionaspnet_state.exe。
在使用程序的Web.config文件中,设置mode=StateServer并设置stateConnectionString属性。比方,stateConnectionString="tcpip=sarath:42424"。
利用SQLServer形式

在运转SQLServer的盘算机(它将存储会话形态)上运转InstallSqlState.sql(默许的安装地位为<驱动器>:systemrootMicrosoft.NETFrameworkversion)。这将创立一个名为ASPState的数据库,该数据库具有新的存储历程而且在TempDB数据库中具有ASPStateTempApplications表和ASPStateTempSessions表。
在使用程序的Web.config文件中,设置mode=SQLServer并设置sqlConnectionString属性。比方,sqlConnectionString="datasource=localhost;IntegratedSecurity=SSPI;InitialCatalog=northwind"。
示例
以下示例指定多少会话形态设置设置。

<configuration>
<system.web>
<sessionStatemode="InProc"
cookieless="true"
timeout="20"/>
</sessionState>
</system.web>
</configuration>
请求
包括于:<system.web>

Web平台:IIS5.0、IIS5.1、IIS6.0

设置文件:Machine.config、Web.config

设置节处置程序:System.Web.SessionState.SessionStateSectionHandler

请拜见
ASP.NET设置|ASP.NET设置架构|SessionStateModule
竟发现没有太大的帮助。总觉得要用起来,感觉到不了位。因为公司机器的原因,一直没有安装vs.net(也从来没有用过)。以前做asp的时候一直用DW(感觉其代码联想功能不错),可现在到了asp.net却不习惯了。

山那边是海 发表于 2015-1-19 16:29:06

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

分手快乐 发表于 2015-1-28 08:41:41

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

柔情似水 发表于 2015-2-5 20:15:21

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

若相依 发表于 2015-2-13 11:51:03

在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。

变相怪杰 发表于 2015-3-3 21:09:38

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

飘飘悠悠 发表于 2015-3-11 13:48:10

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

不帅 发表于 2015-3-26 19:03:14

但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。
页: [1]
查看完整版本: ASP.NET编程:使Session不丧失的办法之一的体验