ASP中的application对象和session对象的几个问题 20

本人新学ASP,对asp中的这两个对象有点理解不清楚。比方说ASP中的request对象,我理解为浏览器客户端(客户)在浏览网站时所做的事,所提供的信息、数据等。resp... 本人新学ASP,对asp中的这两个对象有点理解不清楚。比方说ASP中的request对象,我理解为浏览器客户端(客户)在浏览网站时所做的事,所提供的信息、数据等。response对象就是服务器对客户端浏览器的控制。那application公共对象是怎么个概念呢?
session私有对象又是个什么概念呢?
高手能不能详细解释一下!不要用专业的那些术语来说,最好是举例说明下。这样我能更好的理解。
浏览网站时,哪些元素或者说是动作被看做是私有对象;哪些有是被看做是公共对象?
下面的写的是什么啊?看不懂!
展开
 我来答
以画屏屏8748
2008-02-22 · TA获得超过7191个赞
知道大有可为答主
回答量:2581
采纳率:0%
帮助的人:3323万
展开全部
ASP.NET的几个内置对象
ASP.NET的内置对象介绍 0FL.N ^o&y'Sh
1.Response -r#BW&x)tOEb
2.Request
e5B y&z7P,[;` 3.Server _8iud3DiN@
4.Application /f3q `\-f ZA
5.Session !a C*Q]e8a2VF#g
6.Cookie@@8JGk

8sJT0@S"}M8` W Request对象主要是让服务器取得客户端浏览器的一些数据,包括从HTML表单用Post或者GET方法传递的参数、Cookie和用户认证。因为Request对象是Page对象的成员之一,所以在程序中不需要做任何的声明即可直接使用; 其类名为 HttpRequest 属性很多,但方法很少,只有一个BinaryRead() ]i}3lk%b:r'F
|2d9TZ,|
1.使用Request.Form属性获取数据 !tj%L2} rf
通过该属性,读取<Form></Form>之间的表单数据.注意:提交方式要设置为“[color=red]Post[/color]”。
Em/eM6H(yT 与Get方法相比较,使用Post方法可以将大量数据发送到服务器端
^2}~Z-bo U (aa+I }F8m9G.U
2.利用Request.QueryString属性获取数据
lKQ v"c6{ Request对象的QuerySting属性可以获取 HTTP 查询字符串变量集合 。 通过该属性,我们可以读取地址信息 http://localhost/aaa.aspx?uid=tom&pwd=abc 其中标识为红色部分的数据. 注意:提交方式要设置为“[color=red]Get[/color]”
@;^of'@7X P.Y5T}R$}#N
3.问题:Request.Form用于表单提交方式为Post的情况,而Request.QueryString用于表单提交方式为Get的情况,如果用错,则获取不到数据。解决方法:利用Request(“元素名”)来简化操作。
X1VUC Q$E!F@3S ,P.oZ T[VWQz
4.Request.ServerVariables("环境变量名称") ~;J xT"E
类似的还有:UserHostAddress,Browser,Cookies,ContentType,IsAuthenticated Item,Params .t#kII+D

.vVr9K5U2K o ----------------------------------------------------------------------------------------------------------
} d6c_:x0Z ^+[.] 8|(v+rAaf,b
Response对象用语输出数据到客户端,包括向浏览器输出数据、重定向浏览器到另一个URL或向浏览器输出Cookie文件。 3ME6}5dp-hf s @#F&v~
其类名为httpResponse 属性和方法
uywb Ufk
qy g2W+rFK%g BufferOutPut属性 是否使用缓存 J%N e1E0O5~1j
Write() 向客户端发送字符串信息
0M|ks_*x7[ Clear() 清除缓存
N(^ C:G,P\R Flush() 强制输出缓存的所有数据
x,V.B#~Jc7CD Redirect() 网页转向地址
8^3ot%\2EU1gP End() 终止当前页的运行 :P+\R6S'lm(vR j
WriteFile()读取一个文件,并且写入客户端输出流 (实质:打开文件,并且输出到客户端。)
zxQ#Y)k ANN sXbn HR,F k
1.Response.Write 变量数据或字符串
5N7^;[+dl Response.Write (变量数据或字符串) <%=…%>
X&N2hl:j-dRY0Nb Response.Write("<script language=javascript>alert('欢迎学习ASP.NET')</script>") {$[)g E P r2qDy-g
Response.Write("<script>window.open('WebForm2.aspx')</script>")
b OJ;gg {"\9e` }3[0~iL$r
2.Response对象的Redirect方法将客户端浏览器重定向到另外的URL上,即跳转到另一个网页。
1i!F&} }Q/O7b!l%KTa Response.Redirect("http://www.163.net/") *@EB2Frzh

;OB8}(SW:~ 3. Response.End() 终止当前页的运行
?p#A{8vzi
q"y`-jt 4.Response.WriteFile(FileName)
y)Do)@#P1j4L9M 其中:FileName 指代需向浏览器输出的文件的文件名
{ Efng
+aOz2Jff!g)N ----------------------------------------------------------------------------------------------------------
#f"hO(^TBR ,S{(~@H,@G.qv$x;l
Server对象提供对服务器上的方法和属性进行的访问 .其类名称是HttpServerUtility. 1Xqq,p;I&D@

T#t F5V%xBh[H`4em Server对象的主要属性有:
T9]Y0[0x.Vt MachineName: 获取服务器的计算机名称。 1@ pS5T6Cn
ScriptTimeout:获取和设置请求超时(以秒计)。 X|*z9~1_

6o!O3mcP2X(p0f j 方法名称 说明
V Yt P_&v+TF SQ&e,[q CreateObject 创建 COM 对象的一个服务器实例。
V9[9E#S2E1c0|3u| Execute 执行当前服务器上的另一个aspx页,执行完该页后再返回本页继续执行
$E[t@m HtmlEncode 对要在浏览器中显示的字符串进行HTML编码并返回已编码的字符串。 W!z!v3J*]d| X5N
HtmlDecode 对HTML编码的字符串进行解码,并返回已解码的字符串。
LU;~B"`9X)C*W[ MapPath 返回与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
K&H j9NCr7v { Transfer 终止当前页的执行,并为当前请求开始执行新页。
'R!K4]N#} CV UrlEncode 将代表URL的字符串进行编码,以便通过 URL 从 Web 服务器到客户端进行可靠的 HTTP 传输。
0V?C9@.|0^Hg0o(l UrlDecode 对已被编码的URL字符串进行解码,并返回已解码的字符串。 i.Cq-f)v|f
UrlPathEncode 对 URL 字符串的路径部分进行 URL 编码,并返回已编码的字符串。 0OI%r[ YV8U2UqG/n
编码: fjW jX
Server.HtmlEncode(“HTML代码”)
er`4QYDT^F 解码:
c2o"gudaqQ&^#G7M Server.HtmlDecode(“已编码的HTML”)
*I;UCjI&xA HC LWqgt4?%?4i+V
1.Server对象的MapPath方法将虚拟路径或相对于当前页的相对路径转化为Web 服务器上的物理文件路径。
$dqR.K4p9U 语法:Server.MapPath(“虚拟路径”)
9]0k6WiZ3X String FilePath 5H q _~}V/S#s Ji-?2X v
FilePath = Server.MapPath(“/”)
b"hr J'] vQ e-\ Response.Write(FilePath) +imFs:t[Qw`+P N

esym2I.J,U,J Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数、在线名单、意见调查和网上选举等。在给定的应用程序的多有用户之间共享信息,并在服务器运行期间持久的保存数据。而且Application对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件。 &k P GUPA `?A3u
1.使用Application对象保存信息 g4\)m({imS@
使用Application对象保存信息 ut3No(A*Zl0H&_
Application(“键名”) = 值
{-j\-eA} {5VB 或 y}8^{[-T)D
Application(“键名”,值) G*omU+J'r*O
获取Application对象信息 *_&e0Li ee4x
变量名 = Application(“键名”)
)b%Fb!iH2k 或:变量名 = Application.Item(“键名”) (O7t8~uN'Xl
或:变量名 = Application.Get(“键名”)
7IsT/t]%L%U|R'Ow&i 更新Application对象的值 tNE.KT
Application.Set(“键名”, 值)
l e"@5j X5a\d5i/?^6Z_ 删除一个键 S*g2V#TPR(g8^j
Application.Remove(“键名”, 值) u?IwV#\6yr0KN
删除所有键
HW)i$qTH2K.CJ#x;C Application.RemoveAll()
MY(_:I3MoKp 或Application.Clear()
s"U"RW"~3?D 2.有可能存在多个用户同时存取同一个Application对象的情况。这样就有可能出现多个用户修改同一个Application命名对象,造成数据不一致的问题。 2v9z!d0?'a6YqG1\%k
HttpApplicationState 类提供两种方法 Lock 和 Unlock,以解决对Application对象的访问同步问题,一次只允许一个线程访问应用程序状态变量。
])I1B(o2e3R 关于锁定与解锁 -v!~9ZiRk@,p7}
锁定:Application.Lock()
J5n6Dbz } 访问:Application(“键名”) = 值 ;?)Kk4]!}
解锁:Application.Unlock()
'@"N_ws_H V5R%O 注意:Lock方法和UnLock方法应该成对使用。
9a"C%e w0u~QH{ 可用于网站访问人数,聊天室等设备
j/`9DW{At.d?;i 3. 使用Application事件 ^9fgQE z!m,L
在ASP.NET 应用程序中可以包含一个特殊的可选文件——Global.asax 文件,也称作 ASP.NET 应用程序文件,它包含用于响应 ASP.NET或HTTP模块引发的应用程序级别事件的代码。 7u*M!AN3T,L8K B7_V
Global.asax 文件提供了7个事件,其中5个应用于Application对象 Pj:x tS[
*u_1]4D3yo#S4D
事件名称 说明
s$VK*A6g-S4I0Z2[D Application_Start 在应用程序启动时激发 )^Mi`R:Gm~`
Application_BeginRequest 在每个请求开始时激发
4N-S|A@W7s Application_AuthenticateRequest 尝试对使用者进行身份验证时激发 +Jq#{ BK]
Application_Error 在发生错误时激发
e+@t z8AJq2r? Application_End 在应用程序结束时激发
4QQ h~t0Cg K6Z a3S)Qg/K/^J:j }n
b ?#_PS;B
Session即会话,是指一个用户在一段时间内对某一个站点的一次访问。
t)pT&j7@KYo)C Session对象在.NET中对应HttpSessionState类,表示“会话状态”,可以保存与当前用户会话相关的信息。
c9kS5i;s[8[7z Session对象用于存储从一个用户开始访问某个特定的aspx的页面起,到用户离开为止,特定的用户会话所需要的信息。用户在应用程序的页面切换时,Session对象的变量不会被清除。
K-C/W*e_ Mn c.a 对于一个Web应用程序而言,所有用户访问到的Application对象的内容是完全一样的;而不同用户会话访问到的Session对象的内容则各不相同。 Session可以保存变量,该变量只能供一个用户使用,也就是说,每一个网页浏览者都有自己的Session对象变量,即Session对象具有唯一性。
$jJ&rZ1ln Ju (1)将新的项添加到会话状态中
9JD ^(M Sjl 语法格式为: T9WMY7z.WV3h
Session ("键名") = 值 } w6Y k!Uf Mqg5h
或者
d)~_q;P QRTc'H;L ` Session.Add( "键名" , 值)
`UeCM3i [:IB (2)按名称获取会话状态中的值 +IPP _oW*b
语法格式为:
bH XH)r 变量 = Session ("键名")
3S?5M,J$d!s 或者
SDUm-r7X 变量 = Session.Item("键名") *@n9hfU8u X
(3)删除会话状态集合中的项
,{ l6~.B x3@kt 语法格式为:
!wvTwP Session.Remove("键名")
w Q:oW:yu8~ w2OA (4)清除会话状态中的所有值 0k Kn(K1A p
语法格式为: 8FF-f_x3Z,b
Session.RemoveAll()
x;SW M }!b)D_*L 或者
&IS1R:I@xfa Session.Clear()
;hA+h?7dZ (5)取消当前会话
b&s}C#`:}9b 语法格式为:
-rUB/uk} ~ Session.Abandon() \mL|&KN
(6)设置会话状态的超时期限,以分钟为单位。
+p f)N-Jd 语法格式为: Q Gn ^ku.Ld qy
Session.TimeOut = 数值
,u~-A'{H'm5Ym Global.asax 文件中有2个事件应用于Session对象
#TVe8`m P ^ 事件名称 说明
*F{h X0Y;C([*Cd Session_Start 在会话启动时激发 !g9pp`8{.o8E
Session_End 在会话结束时激发 T |w+w^c8cp

yQ([Pw Cookie就是Web服务器保存在用户硬盘上的一段文本。Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。信息的片断以‘键/值’对的形式存储。 Q(k1kY8C(h)RM!v
Cookie是保存在客户机硬盘上的一个文本文件,可以存储有关特定客户端、会话或应用程序的信息,在.NET中对应HttpCookie类。 xWP%f%g%V4O
有两种类型的Cookie:会话Cookie(Session Cookie)和持久性Cookie。前者是临时性的,一旦会话状态结束它将不复存在;后者则具有确定的过期日期,在过期之前Cookie在用户的计算机上以文本文件的形式存储。 pX d'e!z/GK#sD
在服务器上创建并向客户端输出Cookie可以利用Response对象实现。 U!zgEBYZiL9`
Response对象支持一个名为Cookies的集合,可以将Cookie对象添加到该集合中,从而向客户端输出Cookie。
^+o%vuy6vl l'_ P^ 通过Request对象的Cookies集合来访问Cookie
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式