admin 管理员组

文章数量: 1184232


2024年3月1日发(作者:网页前端开发工资)

ASP的六大内部对象

t对象

Request对象把客户信息保存在几个集合中,供ASP应用使用。

se对象

用来控制向客户返回的HTML的内容,有若干属性和方法。

ation对象

Active Server应用程序是虚拟目录及其子目录下的所有文件,即一个WEB。可以使用Application对象在应用软件的所有用户中共享信息,并可以在服务器运行期间持久地保存数据。他有一些控制访问应用层数据的方法和事件。

n对象

Active Server使用会话设置为使用应用程序的单个用户持久保持数据。

对象

用于执行在服务器中的操作

stem和TextStream对象

FileSystem和TextStream对象可用于建立对文件系统的访问,并提供顺序访问文件的机制。

ASP六大对象介绍

Application对象

Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。

Application的属性:

方法如下:

Application对象没有内置的属性,但是我们可以自行创建其属性。

<% Application("属性名")=值 %>

其实大部分Application变量都 存放在Contents集合中,当你创建一个新的Application变量时,其实就是在Contents集合中添加了一项。下面两个脚本是等效的:

<% Application("greeting")="hello!" %> 或 <% ts("greeting")="hello!"由于Application变量存在集合里,所以如果想要全部显示,其方法我们已经多次使用,例如For Each循环。

<%

For Each item IN ts

("

"&item&ts(item))

next

%>

Application的方法:

Application的方法只有两个方法:一个是Lock,另一个是Unlock。其中Lock方法用于保证同一时刻只能一个用户对Application操作。Unlock则用于取消Lock方法的限制。如:

<%

Application("visitor_num")=Application("visitor_num")+1

%>

Application的事件:

1、Application_OnStart()

当事件应用程序启动时触发。

2、Application_OnEnd()

此事件应用程序结束时触发。

这两个事件过程都是必须定义在文件中,一般把连接数据的函数定义在这两个事件,然后放在中。例如:

Sub Application_OnStart

Application("tt18_ConnectionString") = "driver={SQL

Server};server=jeff;uid=sa;pwd=;database=test"

End Sub

一个数组能够被定义成Application对象,不过这个数组只能作为一个对象保存,而不能用Application(0)取出其值。可以定义一个临时数组实现这种功能。如:

<%

dim Array()

Array=Application("array")

for i = 0 to ubound(array)

Array(i)

next i

%>

同样要修改这个Application对象也可以定义一个临时数组,把Application对象赋给数组,然后修改这个数组的元素,最后把数组赋回Application对象。如:

<%

dim Array()

Array=Application("array")

Array(0)="jeff"

Array(1)="zhu"

Application("array")=Array

%>

ObjectContext对象

该对象用于控制Active Server Pages的事务处理。事务处理由Microsoft Transaction

Server (MTS)管理。

事件

sactionAbort

由放弃的事务处理事件激发,在脚本完成处理后发生。

sactionCommit

由成功的事务处理事件激发,在脚本完成处理后发生。

方法

rt

显式的放弃一次事务处理。

plete

覆盖前面任何调用rt方法的调用。

Request对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。

集合

Certificate(key[SubField])

所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:

Subject

证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。

Issuer

证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所有的子域后缀一起使用。

VadidFrom

证书发行的日期。使用VBScript格式。

ValidUntil

该证书不在有效的时间。

SerialNumber

包含该证书的序列号。

Certificate

包含整个证书内容的二进制流,使用ASN.1格式。

对于SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或IssuerL)

C

起源国家。

O

公司或组织名称。

OU

组织单元。

CN

用户的常规名称。

L

局部。

S

州(或省)。

T

个人或公司的标题。

GN

给定名称。

I

初始。

当文件(VBScript使用)或(Jscript使用)通过使用#INCLUDE导向包含在你的Active Server Page里时,下面两个标志可以使用:

ceCertPresent

指明客户证书是否存在,其值为TRUE或FALSE。

ceUnrecongnizedIssure

指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。

s(Cookie[(key).Attribute])

Cookie的集合。允许获得浏览器的Cookie。Cookie指明返回那一个Cookie。Key用于从Cookie字典中返回具有某一关键字的Cookie值。对于Attribute,你能使用属性HasKeys来确定某一Cookie是否具有子关键字。HasKeys的值为TRUE或FALSE。

(Parameter)[(Index).Count]

填写在HTML的表单中所有的数据的集合。Parameter是在HTML表单中某一元素的名称。当某一参数具有不止一个值(比如,当在

以上是提交的表单,下面是处理表单的文件:

<%=true%>

Redirect示例

<%

thisurl="/";

where=("wheretogo")

Select Case where

case "fun"

ct thisurl & "/fun/"

case "news"

ct thisurl & "/news/"

case "sample"

ct thisurl & "/sample/"

End Select

%>

这个例子当用户选择了以后,按"Jump"按钮提交表单,服务器接到申请后调用判断后定位到相应的URL。不过这里有一点要注意,HTTP标题已经写入到客户浏览器,任何HTTP标题的修改必须在写入页内容之前,遇到这种问题时,可以如下做:

在文件的开始<@ Language=..>后写:

=True

在结尾定:

这里Flush是Response的一个方法,它必须是Buffer属性设置为True时才能使用,否则会产生一个运行模式错误。另外一个Clear方法也是用于清除被缓存的页面,同样要Buffer属性设置为True时才能使用。

5、End方法

该方法用于告知Active Server当遇到该方法时停止处理ASP文件。如果Response对象的

Buffer属性设置为True,这时End方法即把缓存中的内容发送到客户并清除冲区。所以要取消所有向客户的输出民,可以先清除缓冲区,然后利用End方法。如:

<%

=true

On error resume next

if <>0 then

end if

%>

Server 对象:

Server 对象提供对服务器上的方法和属性的访问。其中大多数方法和属性是作为实用程序的功能服务的。

语法

ty|method

属性

ScriptTimeout:

ScriptTimeout 属性指定脚本在结束前最大可运行多长时间。 当处理服务器组件时,超时限制将不再生效。

语法 Timeout = NumSeconds

参数 NumSeconds

指定脚本在被服务器结束前最大可运行的秒数。默认值为 90 秒。

注释

通过使用元数据库中的AspScriptTimeout属性可以为 Web 服务或 Web 服务器设置缺省的ScriptTimeout值。ScriptTimeout属性不能设置为小于在元数据库中指定的值。例如,如果NumSeconds设置为10,而元数据库设置包含了默认值90秒,则脚本在90秒后超时。但如果NumSeconds设置为100,则脚本在100秒后超时。

关于使用元数据库的详细信息,参阅 关于元数据库。

示例 以下示例中,如果服务器处理脚本超过 100 秒,将使之超时。

<% Timeout = 100 %>

以下示例获取 ScriptTimeout 属性当前值,并将其存储在变量 TimeOut 中。

<% TimeOut = Timeout %>

方法

CreateObject

CreateObject 方法创建服务器组件的实例。如果该组件执行了 OnStartPage 和

OnEndPage 方法,则此时就会调用 OnStartPage 方法。有关服务器组件的详细信息,请参阅 可安装的 ASP 组件 。

语法 Object( progID )

参数 progID 指定要创建的对象的类型。progID 的格式为 [Vendor.] component[.Version]。

注释 默认情况下,由 Object 方法创建的对象具有页作用域。这就是说,再当前 ASP 页处理完成之后,服务器将自动破坏这些对象。要创建有会话或应用程序作用域的对象,可以使用 标记并设置 SESSION 或 APPLICATION 的 SCOPE 属性,也可以在对话及应用程序变量中存储该对象。

例如,在如下所示的脚本中,当 Session 对象被破坏,即当对话超时时或 Abandon 方法被调用时,存储在会话变量中的对象也将被破坏。

<% Set Session("ad") = Object("tor")%>

可以通过将变量设置为 Nothing 或新的值来破坏对象,如下所示。第一个例子释放 ad 对象,第二个例子用字串代替 ad 。

<% Session ("ad") = Nothing %>

<% Session ("ad") = " Other Valum " %>

不能创建与内建对象同名的对象实例。 例如,下列脚本将返回错误。

<% Set Response = Object("Response") %>

示例 <% Set MyAd = Object("tor") %>

上面的例子创建一个名为 MyAd 的 tor 服务器组件,tor 组件可用于在 Web 页上的自动轮换广告。

关于服务器组件的详细信息, 请参阅 Creating Components for ASP.

HTMLEncode HTMLEncode方法对指定的字符串应用 HTML 编码。

语法 code( string )

参数 string 指定要编码的字符串。

示例脚本 <%= code("The paragraph tag:

") %>

输出 The paragraph tag:

注意 以上输出将被 Web 浏览器显示为The paragraph tag:

如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML。

MapPath

MapPath 方法将指定的相对或虚拟路径映射到服务器上相应的物理目录上。

语法

h( Path )

参数

Path

指定要映射物理目录的相对或虚拟路径。若 Path 以一个正斜杠 (/) 或反斜杠 () 开始,则

MapPath 方法返回路径时将 Path 视为完整的虚拟路径。若 Path 不是以斜杠开始,则

MapPath 方法返回同 .asp 文件中已有的路径相对的路径。

注释

MapPath 方法不支持相对路径语法 (.) 或 (..)。例如,下列相对路径 ../MyDir/ 返回一个错误。

MapPath 方法不检查返回的路径是否正确或在服务器上是否存在。

因为 MapPath 方法只映射路径而不管指定的目录是否存在,所以,您可以先用 MapPath

方法映射物理目录结构的路径,然后将其传递给在服务器上创建指定目录或文件的组件。

示例

对于下列示例,文件和包含下列脚本的文件都位于目录C:InetpubWwwrootScript下。C:InetpubWwwroot目录被设置为服务器的宿主目录。

下列示例使用服务器变量 PATH_INFO 映射当前文件的物理路径。脚本

<%= h(Variables("PATH_INFO"))%>

输出

c:

由于下列示例中的路径参数不是以斜杠字符开始的,所以它们被相对映射到当前目录,此处是 C:InetpubWwwrootScript。脚本

<%= h("")%>

<%= h("script/")%>

输出

c:

c:

接下来的两个示例使用斜杠字符指定返回的路径应被视为在服务器的完整虚拟路径。脚本

<%= h("/script/")%>

<%= h("script")%>

输出

c:

c:inetpubscript

下列示例演示如何使用正斜杠 (/) 或反斜杠 () 返回宿主目录的物理路径。脚本

<%= h("/")%>

<%= h("")%>

输出

c:inetpubwwwroot

c:inetpubwwwroot

URLEncode

URLEncode 方法将 URL 编码规则,包括转义字符,应用到指定的字符串。

语法

ode( string )

参数

String 指定要编码的字符串。

示例

脚本 <%(ode("";)) %>

输出 http%3A%2F%2Fwww%2Etinyu%2Ecom

Session对象

Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session。在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。

1、SessionID属性

该属性返回当前会话的唯一标志,为每一个Session分配不同的编号。

我曾在开发过程中就遇到对用户的控制问题。它要实现的功能就是,针对某个网站的一个模块,当一个会员登录后正在看此模块时,另一个人用同样的会员名登录,就不能浏览这个模块。也就是说一个会员名同时只能一个人浏览此模块。我通过用会员名(假设为UserID,唯一)和SessionID来实现了控制。当会员登录时,给这个会员一个Session记录登录状态如:Session("Status")="Logged",同时把这个会员的nID写入数据库。当他要浏览此模块时,先判断其是否登录,若已经登录再判断它的SessionID是否与数据库记录的相同,如果不同则不能访问。这样,当另一个用户用相同的会员名登录时,那么数据库中记录的就是新的SessionID,前者访问此模块时就不能通过检查。这就实现了一个会员名同时只能一个人浏览某个模块。这个功能在一些收费网站有很有特别作用,它防止了一

个会员名给多个人浏览的问题,为公司保障了利益。

2、TimeOut属性

该属性用来定义用户Session对象的时限。如果用户在规定的时间内没有刷新网页,则Session对象就会终止。一般默认为20分钟。

3、Abandon方法

该方法是Session对象的唯一方法,可以清除Session对象,用来消除用户的Session对象并释放其所占的资源。如: <% n %>

4、Session_OnStart和Session_OnEnd事件

和Application一样,当对象的例程每一次启动时触发Session_OnStart事件,然后运行Session_Onstart事件的处理过程。也就是说,当服务器接收到应用程序中的URL的HTTP请求时,触发此事件,并建立一个Session对象。同理,这个事件也必须定在文件中。

当调用n方法时或者在TimeOut的时间内没有刷新,这会触发Session_OnEnd事件,然后执行里面的脚本。Session变量与特定的用户相联系,针对某一个用户赋值的Session变量是和其他用户的Session变量完全独立的,不会存在相互影响。

Session应用一列:

与Application一样,一个被定义为Session类型的数组只能将整个数组作为一个对象,用户不能直接改变Session数组中某个元素的值。为了创建一个Session数组,需先定义一个普通的数组,并对它的每一个元素赋初值,最后把它定义为一个Session数组。如:

<%

dim array()

array=array("李","明","男")

Session("info")=array

Session("info")(0) &"-"

Session("info")(1) &"-"

Session("info")(2) &"

"

%>


<%

array(0)="天"

array(1)="宇"

array(2)="男"

Session("info")=array

Session("info")(0) & "-"

Session("info")(1) & "-"

Session("info")(2) & "

"

%>


本文标签: 对象 服务器 方法 用户

更多相关文章

在Nginx上优化DNS解析持久性:一文教你解决常见挑战

1月前

基础信息:nginx缓存dns解析持久会导致dns负载产生问题,在被访问的节点离线后,持久的效果会引发访问异常背景:此处只针对nginx向后端做代理,且后端代理为域名形式 的这种情况做分析

搞定Word文件无法开启的终极攻略,快快收藏备用!

1月前

word文档打不开的常见原因?好的处理方法 最近使用办公软件经常出现打开Word文档没有响应的情况。Word是我们生活办公中常用的软件,会遇到这样的问题是不可避免的。那么遇到 word文档打不开的常见原

电脑开机密码忘记?这个方法帮你快速破解

1月前

电脑开机密码是保护个人隐私和计算机安全的重要手段,但有时用户可能希望取消这个设置以提高使用便捷性。本文将介绍三种电脑怎么取消开机密码的方法,适用于不同品牌不同类型的电脑,为用户提供更灵活的操作选择。 方法1:使用系统设置取消密

从错误到流畅:解决Flash中心内存读取问题的实用方法

1月前

内存不能为read正确修复方法2010年06月03日内存不能为read正确修复方法:内存指令不能read,这是在电脑使用中常常出现地情况,内存是主板上地存储部件,是CPU直接与之沟通,并用其寄存当前正在使用地(即

Linux中的隐蔽空间:隐藏文件全解析

1月前

在Linux中,隐藏文件以点(.)开头的文件或文件夹被认为是隐藏文件。隐藏文件通常用于存储系统配置文件或敏感文件。 以下是几种不同的方法来隐藏文件或文件夹: 方法1:在文件或文件夹名字前面加上点(.) mv fil

TBB.dll找不到?一文解析DNF报错五大原因,附赠修复指南及免费工具使用教程!

22天前

如果你在玩 DNF地下城与勇士或运行其他多线程应用时突然遇到 “tbb.dll丢失”报错,不用慌!本文将帮你快速找出原因,并提供 5种高效修复方案,其中包括

Win1011系统管理进阶:启用超级用户账户指南

19天前

​ 一、启用 Administrator 账户的 3 种方法​ 1. 通过计算机管理(适用专业版企业版)​右键点击 ​ 此电脑​ → ​

从入门到精通:Android 10.0 WiFi静态IP和DNS配置攻略

19天前

想要在代码中实现设置WIFI静态IP需要有系统权限,要在manifest文件添加android:sharedUserId=“android.uid.system”,还要有系统签名。设置WIFI静态IP和之前以太网的类似,都

Mac轻松卸载,告别那些让你头疼的应用

18天前

Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度。因此,卸载电脑中无用的软件是优化Mac系统运行速度的最佳方式之一。Mac删除应用程序特别简单,长点击应用点击x,或是直接将应用拖进废纸篓。但是有一些应用长按没有x

不再受困:Mac上的卸载技巧,专治SWF、Flash中心等应用程序的困扰!

18天前

Mac电脑如果有太多无用的应用程序,很有可能会拖垮Mac系统的运行速度。因此,卸载电脑中无用的软件是优化Mac系统运行速度的最佳方式之一。Mac删除应用程序特别简单,长点击应用点击x,或是直接将应用拖进废纸篓。但是有一些应用长按没有x

Win10系统异常应该怎么修复_win10系统修复

17天前

win10系统使用久了之后,一些垃圾文件也会压得系统不堪重负,碰上些恶意软件还会修改设置导致系统出现异常,或是操作修改些服务也都会导致系统受损。当系统的反应越来越慢,或是直接瘫痪,又该怎样处理?重装?感觉又有些麻烦,所以修复吧。下面就

word删除空白页的6种方法和技巧_如何删除word空白页

17天前

方法1:空白页在最后一页的删除方法如果空白页在最后一页 可以先将光标定位到最后一页 然后按键盘上的 Backspace或Delete键 来删除空白页方法2:删除分页符

Winsock LSP导致无法上网(传说中的“浏览器劫持”)

17天前

关于Winsock LSP“浏览器劫持”,中招者一直高居不下,由于其特殊性,直接删除而不恢复LSP的正常状态很可能会导致无法上网所以对其修复需慎重. 先说说什么是Winsock LSP“浏览器劫持”.Winsock LS

Android中Back键实现Home键功能_android 实现按返回键为home键

16天前

1、先说一下Back键和Home键的区别 Back键:当按下Back键的时候,系统默认调用Activity的onDestory方法,销毁当前的Activity。这个Activity再次启动的时候,重新调用onCreate

工作组模式下设置文件共享(转载)_如何设置文件仅仅在工作组内共享

16天前

很多人都会使用URL路径共享文件夹了,可是有多人知道如何设置指定哪些人可以看,哪些人不可以看,哪些人可以写,哪些人只能读呢? 也许朋友们都知道,在域里面这样设置很简单,但是在工作组模式下如何设置呢?开启GUEST吗?NO

重新设置无线路由器密码的方法_如何修改wifi密码 csdn

16天前

如果你忘记了路由器的密码,不用担心,下面是一个重新设置路由器密码的简明教程,让我们一起来看看。方法一:记得管理员密码1. 首先,打开你的,输入你路由器的IP地址,通常在路由器上能找到,一般默认为:

linux创建用户和完全删除用户账号_linux主机删除用户

14天前

本文以centos7操作系统实验(1)进入系统后,首先我们创建一个用户账号。[root@docker1 ~]# useradd TigerwolfC    #创建用户,名字是TigerwolfC [ro

JavaCard Object删除及垃圾回收设计_jcsystem.requestobjectdeletion()

11天前

--by Caesar 对象的存储: 对象以Heap的方式统一管理,ref以索引方式读取定长的Heap头。 永久对象:HeapBody存储在NVM中,并以TLV的方式连接。Heap头存储指向HeapBody的偏

如何美化桌面图标并使其透明化

11天前

经常看到有的人桌面图标下总有一块区域与桌面背景不同,看起来很不美观,应该怎样去除呢?   方法1:在桌面空白处点右键,“属性”→“桌面”→“自定义桌面”→“web”选项卡,将“网页”下面方框里的网址全部删除,并保持在“锁定桌面项目”前

告别传统器,这款“颜值实力派”开源神器,让你体验极致高速与优雅_类似motrix软件

10天前

引言:下载,是CSDNers的“生命线”,但痛点无处不在! 各位CSDNers,IT领域的探索者们,大家好! 我们每日与代码、文档、开源项目、系统镜像、各类资源打交道,下载几乎是日常工作中不可或缺的一环。然而,你是否曾

发表评论

全部评论 0
暂无评论