|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。静态 可以静态Include文件吗?
甚么是静态Include?咱们从一个案例谈起:
<%
'失掉用户地点的省分
Dim Province
Province = Request.form("Province")
'上面显示这个省分相干的信息
%>
<!--#include virtual="/ Province/<%= Province%>"-->
你感觉下面的代码可以任务吗?不!复杂地利用ASP来到达静态包括,你不克不及到达你想要的后果。为何?由于:Include号令先于ASP代码而失掉履行,所以,下面的代码并没有依照作者的志愿,先失掉用户地点的省分,再包括这个省分的信息!
假如你的确需求静态包括,你可以如许做:
<%
Select Case Province
Case 1:%>
<!--#include file="1.asp"
<% Case 2:%>
<!--#include file="2.asp"
<% Case 3:%>
<!--#include file="3.asp"
<% End Select%>
应当说,这段代码可以失掉你想要的了局。然而,因为你的用户能够来自于33个省,你岂非包括33个文件?出格要申明的是,SSInc.dll是不晓得你事实需求哪一个包括文件的(现实上,这时候候Province还没有值),所以,她把一切的文件都包括出去了!你可以想象,这时候候的文件有多大!然后,ASP.DLL会去扫描这个文件中的ASP代码,然后履行!
所以,每当如许的时分,你应当思索其他的思绪,好比数据库,或采取FileSystemObject。
Q021:如何静态Include文件?
ASP法式员常常面对的最大应战之一是静态Include文件。因为#include 在ASP代码履行之前处置,所以,看起来,动if/else的头脑是不成能的。
真是如许吗?
依据你利用Include的目标,和你将Include的文件数量,利用if/else或许可以处理成绩。但这相对不是任什么时候候可以见效的,并且也不是一种无效的处理举措,由于你需求做很多的手工任务。
假定有两个样本HTM文件,1.htm和2.htm,为简化起见,假定文件的内容以下:
<!-- 1.HTM: -->
<font color=#ff0000>This is 1.htm</font>
<!-- 2.HTM: -->
<font color=#0000ff>This is 2.htm</font>
如今咱们来尝尝静态Include:
<%
if request.querystring(‘param‘)=‘2‘ then
%>
<!--#include file=‘2.htm‘-->
<%
else
%>
<!--#include file=‘1.htm‘-->
<%
end if
%>
请注重:下面的两个#include 实践上都失掉了处置。你可以实践运转一下,看看后果:
http://localhost/Test.asp?param=1
http://localhost/Test.asp?param=2
http://localhost/Test.asp
下面咱们是把一个querystring作为前提。你还可以把工夫、日期、阅读器版本等作为前提。然而,前提越庞杂,这类办法的效力越差。上面供应了别的一种思绪:
<%
if request(‘param‘)=‘2‘ then
filespec = ‘2.htm‘
else
filespec = ‘1.htm‘
end if
filespec = server.mapPath(filespec)
scr = ‘scripting.fileSystemObject‘
set fs = server.createobject(scr)
set f = fs.openTextFile(filespec)
content = f.readall
set f = nothing
set fs = nothing
response.write(content)
%>
在IIS5.0/ASP3.0中,有两种新的办法来撑持“静态包括”:
<%
server.transfer filename
server.execute filename
%>
假如正好利用的是IIS5.0和ASP3.0,那末一切Ok!
</p> 实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。 |
|