用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机网络

ASP 3.0高级编程(四)

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 10:10:04
st对象的ClientCertificate集合的值,本章的实例代码中,已包含了一个显示用户如何使用些集合值的一些方法的页面。
这一网页被命名为showcert.asp,而且其所做的一切就是遍历ClientCertificate集合显示其包含的所有值。可使用以前经常使用的简单代码来完成它,唯一的不同之处就是建立一个HTML表以容纳结果,并将其截为每60个字符一组。

<%
For Each keyItem In Request.ClientCertificate()
StrItemValue = Request.ClientCertificate(keyItem)
If Len(strItemValue) > 90 Then strItemValue = Left(strItemValue, 60) & “..etc.”
Response.Write “
 
” & keyItem & “ = “ & strItemValue & “

Next
%>
 
运行结果如下图所示:(由于豆豆没有申请服务器证书,该图略)

使用客户证书重定向
一旦要求所有访问网站或部分网站的浏览者给出的其客户证书,就可以使用其包含的信息来制作我们为此用户创建的网页。例如,可使用他们的证书的Organization条目来自动使他们重定向到该网站的指定部分,使别的访问者重定向到别的地方:
If Request.ClientCertificate(“SubjectO”) = “Wrox Press Inc” Then
Response.Redirect “/wrox_staff/default.asp” ‘Wrox staff site
Else
Response.Redirect “/public/Default.asp” ‘Normal public site
End If
相应地,可使用Country条目来使访问者重定向到一个相应的网站:
Select Case Request.ClientCertificate(“SubjectC”)
Case “UK”: Response.Redirect “http://uk_site.co.uk/”
Case “DE”: Response.Redirect “http://de_site.co.de/”
Case “FR”: Response.Redirect “http://fr_site.co.fr/”
‘... ect.
Case Else: Response.Redirect “http://us_site.com/”
End Select

3. 读写二进制数据
有两个方法提供了对从浏览器发送到服务器的HTTP数据流和从服务器返回到浏览器的数据流的二进制数据访问。Request.BinaryRead方法可得到指定要读取的字节数的参数,并返回变体类型的数组,其中包含从请求的POST段中得到的字节(例如在ASP的Form集合中数据)。下面的程序读数据的头64个字节:
varContent = Request.BinaryRead(64)
假如使用了BinaryRead方法,以后就不能访问ASP的Request.Form集合。同样,一旦我们采用任何方式引用了Request.Form集合,就不能使用BinaryRead方法。
把二进制数据写进ASP创建的响应流中也是可能的,可采用BinaryWrite方法。需要给其提供想写到客户的字节的变体类型数组:
Response.BinaryWrite(varContent)
这些方法都很少使用,除非从一个数据库创建非HTML源才用到这些方法。使用的一个实例就是从数据库读取组成图像的字节,并使用BinaryWrite方法把它发送到客户。

4. 创建定制的日志消息
假如设置了服务器,以W3C Extended Log File Format格式将请求记录到一个文本文件,可使用Response.AppendToLog方法在日志文件条目的结尾处添加一条消息字符串。若想为特定的网页存储一些值或消息,或在脚本中出现了特定的情况时,这种方式是非常有用的。
例如,通过的Intranet的“stationary order”应用程序,可以记录超过特定的条目数目的雇员的部门号码:
...
If intItemCount > 25 Then
Response.AppendToLog “Large order from ‘” & strDept & department.”
End If
...

设置扩展的日志
要使用AppendToLog方法,必须激活W3C Extended Log File Format日志设置。该设置方法是,进入Properties对话框中的Web Site选项卡,选中Enable Logging复选框,选择W3C Extended Log File Format并单击Properties按钮,如下图所示:

在出现的Extended Logging Properties对话框中,可选择想包括进日志文件的条目。确保选中URI Stem,否则AppendToLog方法将失败,如下图所示:

我们提供了一个试图在日志文件中写入一个条目的简单实例页面,可从Request Object主页(show_request.asp)中的AppendToLog方法链接处打开它。这一页面所做的全部工作就是创建一个包含当前日期和时间的简单字符串,然后执行AppendToLog方法:
strToAppend = “Page executed on ” & Now
Response.AppendToLog strToAppend
结果如下图所示:


小结
本章已经开始了对ASP 3.0的研究,而且我们也看到了ASP 3.0如何与Internet Informateion Server 5.0共同工作,以提供一个易用的、高效的创建动态Web网页和Web应用程序的方法。当然,仍有一些地方需要去研究,本章仅仅是学习了ASP内置的两个最基本的对象。
这两个最基本的对象是Request和Response对象,允许我们访问和使用作为客户机/服务器会话一部分的值,无论用户何时从Web网站请求和载入一个网页或资源,这种会话就会进行,意味着Request对象能够提供对用户请求的全部内容的访问,同时Response对象允许创建和修改服务器发回的响应。
这些对象能够通过集合和属性揭示会话的各个部分,并提供了多个能用来检索和修改各段的方法。假如把它们当作分解用户请求和使用相应的内容创建响应的工具,这有助你理解究竟发生了什么。这也将有助于理解各种方法如何影响客户、服务器和正在创建的网页。

上一页  [1] [2] [3] [4] [5] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:13,031.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号