仓酷云

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

[学习教程] ASP网页设计Session 详解

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

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

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

x
asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。session|详解浏览本文章前,必要读者对以下常识有所懂得。不然,浏览过程当中会在响应的内容上碰到分歧水平的成绩。

  明白ASP/ASP.NET编程
  懂得ASP/ASP.NET的Session模子
  懂得ASP.NETWeb使用程序模子
  懂得ASP.NETWeb使用程序设置文件Web.config的感化、意义及利用办法
  懂得InternetInformationServices(以下简称IIS)的基础利用办法
  懂得怎样在MicrosoftSQLServer中创立一个数据库。
Session模子简介
  Session是甚么呢?复杂来讲就是服务器给客户真个一个编号。当一台WWW服务器运转时,大概有多少个用户扫瞄正在运正在这台服务器上的网站。当每一个用户初次与这台WWW服务器创建毗连时,他就与这个服务器创建了一个Session,同时服务器会主动为其分派一个SessionID,用以标识这个用户的独一身份。这个SessionID是由WWW服务器随机发生的一个由24个字符构成的字符串,我们会鄙人面的实行中见到它的实践模样。

  这个独一的SessionID是有很年夜的实践意义的。当一个用户提交了表单时,扫瞄器会将用户的SessionID主动附加在HTTP头信息中,(这是扫瞄器的主动功效,用户不会发觉到),当服务器处置完这个表单后,将了局前往给SessionID所对应的用户。试想,假如没有SessionID,当有两个用户同时举行注册时,服务器如何才干晓得究竟是哪一个用户提交了哪一个表单呢。固然,SessionID另有良多其他的感化,我们会在前面说起到。

  除SessionID,在每一个Session中还包括良多其他信息。可是关于编写ASP或ASP.NET的程序与来讲,最有效的仍是能够经由过程会见ASP/ASP.NET的内置Session工具,为每一个用户存储各自的信息。比方我们想懂得一下会见我们网站的用户扫瞄了几个页面,我们大概在用户大概会见到每一个的页面中到场:

<%
IfSession("PageViewed")=""Then
 Session("PageViewed")=1
Else
 Session("PageViewed")=Session("PageViewed")+1
EndIf
%>
  经由过程以下这句话可让用户得知本人扫瞄了几个页面:


<%
Response.Write("Youhaveviewed"&Session("PageViewed")&"pages")
%>

  大概有些有些读者会问:这个看似像是数组的Session(“..”)是那里来的?必要我界说吗?实践上,这个Session工具是具有ASP注释才能的的WWW服务器的内建工具。也就是说ASP的体系中已给你界说好了这个工具,你只必要利用就好了。个中Session(“..”)中的..就仿佛变量称号,Session(“..”)=$$中的$$就是变量的值了。你只必要写上句话,在这个用户的每一个页面中都能够会见..变量中的值了。

  实在ASP一共内建了7个工具,有Session、Application、Cookie、Response、Request、Server等。在其他的服务器端剧本言语如JSP、PHP等中也有其相似的工具,只是叫法大概利用办法上不太一样。

ASPSession的功效的缺点
  今朝ASP的开辟职员都正在利用Session这一壮大的功效,可是在他们利用的过程当中却发明了ASPSession有以下缺点:

  历程依附性:ASPSession形态存于IIS的历程中,也就是inetinfo.exe这个程序。以是当inetinfo.exe历程溃散时,这些信息也就丧失。别的,重起大概封闭IIS服务城市形成信息的丧失。
  Session形态利用局限的范围性:刚一个用户从一个网站会见到别的一个网站时,这些Session信息其实不会随之迁徙已往。比方:新浪网站的WWW服务器大概不止一个,一个用户登录以后要往各个频道扫瞄,可是每一个频道都在分歧的服务器上,假如想在这些WWW服务器共享Session信息怎样办呢?
Cookie的依附性:实践上客户真个Session信息是存储与Cookie中的,假如客户端完整禁用失落了Cookie功效,他也就不克不及享用到了Session供应的功效了。
鉴于ASPSession的以上缺点,微软的计划者们在计划开辟ASP.NETSession时举行了响应的改善,完整克制了以上缺点,使得ASP.NETSession成了一个加倍壮大的功效。

Web.config文件简介
  有的ASP.NET程序员说:Web.config文件?我历来没有传闻过啊,但是我写的程序不是也能很一般的运转吗?是的,你说得没错,没有Web.config文件程序是能够一般运转的。可是,假如你做了一个年夜型的网站,必要对全部网站做一些全体设置,比方全部网站的页面利用何种言语编写的、网站的平安认证形式、Session信息存储体例等,这时候你就必要利用Web.config文件了。固然Web.config文件中的某些选项是能够经由过程IIS设置的,可是假如在Web.config中也有响应的设置就会掩盖失落IIS中的设置。并且,Web.config文件的最年夜的便当的地方就是能够在ASP.NET页面中经由过程挪用System.web名字空间会见Web.config中的设置。

  Web.config有两种,分离是服务器设置文件和Web使用程序设置文件,他们都名为Web.config。在这个设置文件中会保留以后IIS服务器中网页的利用哪一种言语编写的、使用程序平安认证形式、Session信息存储体例的一系列信息。这些信息是利用XML语法保留的,假如想对其编纂,利用文本编纂器就好了。

  个中服务器设置文件会对IIS服务器下一切的站点中的一切使用程序起感化。在.NETFramework1.0中,服务器的Web.config文件是存在:WinNTMicrosoft.NETFrameworkv1.0.3705中的。

  而Web使用程序设置文件Web.config则保留在各个Web使用程序中。比方:以后网站的根目次Inetpubwwwroot,而以后的Web使用程序为MyApplication,则Web使用程序根目次就应为:InetpubwwwrootMyApplication。假如你的网站有且只要一个Web使用程序,一样平常说来使用程序的根目次就是Inetpubwwwroot。假如想增加一个Web使用程序,在IIS中增加一个具有使用程序肇端点的假造目次就好了。这个目次下的文件及目次将被视为一个Web使用程序。可是,如许经由过程IIS增加Web使用程序是不会为你天生Web.config文件的。假如想创立一个带有Web.config文件的Web使用程序,必要利用VisualStudio.NET,新建一个Web使用程序项目。

  Web使用程序的设置文件Web.config是可选的,无关紧要。假如没有,每一个Web使用程序会利用服务器的Web.config设置文件。假如有,则会掩盖服务器Web.config设置文件中响应的值。

  在ASP.NET中,Web.config修正保留后会主动立即效果,不必再像ASP中的设置文件修正后必要从头启动Web使用程序才干失效了。

Web.config文件中的Session设置信息
  翻开某个使用程序的设置文件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"
/>
  这一段就是设置使用程序是怎样存储Session信息的了。我们以下的各类操纵次要是针对这一段设置睁开。让我们先看看这一段设置中所包括的内容的意义。sessionState节点的语法是如许的:

<sessionStatemode="Off|InProc|StateServer|SQLServer"
cookieless="true|false"
timeout="numberofminutes"
stateConnectionString="tcpip=server:port"
sqlConnectionString="sqlconnectionstring"
stateNetworkTimeout="numberofseconds"
/>


必需有的属性是

属性选项形貌
mode设置将Session信息存储到那里
Off设置为不利用Session功效
InProc设置为将Session存储在历程内,就是ASP中的存储体例,这是默许值。
StateServer设置为将Session存储在自力的形态服务中。
SQLServer设置将Session存储在SQLServer中。

可选的属性是:

属性选项形貌
c</p>楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。
莫相离 该用户已被删除
沙发
发表于 2015-1-20 10:53:16 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-26 22:30:58 | 只看该作者
ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 13:05:31 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
蒙在股里 该用户已被删除
5#
发表于 2015-2-7 20:40:55 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
精灵巫婆 该用户已被删除
6#
发表于 2015-2-23 10:24:03 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
admin 该用户已被删除
7#
发表于 2015-3-14 15:01:50 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
飘灵儿 该用户已被删除
8#
发表于 2015-3-21 10:38:27 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 02:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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