您的位置:首页精文荟萃软件资讯 → ASP 3.0高级编程(十二)

ASP 3.0高级编程(十二)

时间:2004/10/7 19:15:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            4.2.3 服务器端包含指令的例子
       本节提供了一些示例页面,可以用来对各种服务器端包含语句进行实验。打开示例网页的子目录Chapter04,显示“SSI Directives and the ASP Server Object”主页(即子目录Chapter04中的Default.asp),如图4-3所示:

图4-3  示例网页
       本书的所有示例都可以从我们的Web网站下载。读者将在示例的子目录Chapter04中发现本章其余部分的所有示例页面。
1.  使用SSI/CGI处理指令
单击链接进入“Server-Side Include and CGI Statements”页面,这将打开ssi_cgi.stm页面。需要注意的是该页面的文件扩展名为.stm,表明这不是一个ASP网页。该页面使用了前面已经讨论过的除#exec指令(稍后将看到)以外的所有SSI指令,且显示指令的使用方法和结果,如图4-4所示:

图4-4  示例网页显示的SSI/CGI处理指令情况
(1)#include指令
该页的开始部分“Include Files with SSI”,显示名为intro.inc的另一个单独文件的内容。下面是该文件的全部内容:
注意我们必须使用HTML条目“<”和“>”来显示网页中的尖括号。如果不这样做,它们就不能被当作注解元素部分看待,并引起其中的指令被执行。
在主ssi_cgi.stm页面中,把这个文件插入到该页中的代码是很简单的:

(2)#config、#fsize和#flastmod指令
网页下一部分显示了与该页面在相同的目录中的文件Default.asp的大小和最后被修改的时间。这里三次使用了#config指令:
· 一次是设置SSI错误信息。
· 一次是设置日期和时间的格式。
· 一次是设置文件大小计算的格式。
使用#fsize和#fiastmod指令把值插入到该网页中:

SSI Statements

 
(sets error message in case of SSI error)



Details of file 'Default.asp':

 
(sets fsize to return size in bytes)




returns:   bytes


 
(sets format for date/time results)




returns:  


(3)#echo 指令
该页的最后部分(在屏幕上只能看到一部分)显示可以使用#echo指令访问的所有HTTP报头的内容。每一行的代码都是相同的,仅仅是VAR属性值有变化。附录G中给出了VAR属性的所有容许值的一个完整列表。

HTTP Variables


returns:  


returns:  

… etc …
2.  使用#exec指令
#exec指令与其他的SSI指令相比使用起来困难一些,正因为如此,将其独立地放到了另一个页面上。可以从“ASP Server Object and SSI Directives”主菜单上访问启动页面。
在该页面上,选择“Using the #echo Server-Side Include Directive”链接。这个操作打开“The SSI #exec Directive”页面,如图4-5所示:

图4-5  “The SSI #exec Directive”网页
这是一个ASP网页ssi_exec.asp。两个按钮用来打开.stm页面,该页面执行其中使用#exec指令所描述的动作。
(1)    在服务器上运行这个示例
在SSI #exec指令示例能够在服务器上工作之前,必须对一些配置进行修改。首先,需要在Web服务器的注册表中创建SSIEnableCmdDirective项(类型DWORD),位置在下面的键名下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
然后设置该值为1,如图4-6所示:

图4-6  注册表中的设置
这样就允许#exec指令与CMD属性一起使用。
其次,必须对包含使用#exec指令的.stm文件的目录禁止匿名访问,客户端将被强制提供帐号的详细情况,该帐号应是一个具有管理员级权限帐号。这也是net命令正常工作的要求。
激活Internet Services Manager应用程序,并选择包含使用#exec指令的.stm文件的目录(在示例中,这些文件是exec目录下的start_cisvc.stm和stop_cisvc.stm)。然后打开该目录的Properties对话框。在Directory Security选项卡中单击Anonymous access and authentication control区域中的Edit按钮,打开 Authentication Methods对话框,如图4-7所示:

图4-7  设置验证方法的对话框
这个对话框不选中Anonymous access复选框。如果不使用Internet Explorer访问该页面,打开Basic authentication选项以允许非IE浏览器通过提交用户名/口令访问该页面。设置时,会出现一个有关安全的警告,单击Yes。现在浏览器将被强制出示合适的帐号和身份证明,因为不能匿名访问该网页。
为了能看到启动和终止服务的结果,打开“Services MMC插件”,终止Indexing Service,如图4-8所示:

图4-8  启动和终止服务的屏幕
(2)    启动和终止Indexing Service
单击示例Web网页上的按钮,启动Microsoft Indexing Service。
这个服务的短名称为cisvc,它通常称为Microsoft Index Server,名称中的“ci”字符,实际上代表“content indexer”。
出现提示时,输入在Web服务器上的具有管理员权限的一个帐号的用户名和口令。当该页面(start_cisvc.stm)打开时,你将感觉到一定的延迟,这是因为#exec指令载入一个窗口命令解释器(cmd.exe)的实例,然后执行net start命令。一旦服务启动(或者如果已经在运行),将显示该页面的其余部分,如图4-9所示:

图4-9  输入用户名和口令后显示的界面
这个页面的代码十分简单。可以看到#exec指令带有CMD属性,它设置为“cmd.exe /c net start cisvc”。窗体包含有重新回到前一页面的SUBMIT按钮:

Processing the SSI directive:







  Return to the previous page



从前一页面可以打开其他的.stm网页,如stop_cisvc.stm用来再次终止该服务,不同之处仅在于使用了net stop命令而不是net start命令。


相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本