|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。功能 ASP开辟人员为了在他们的设计项目中取得更好的功能和可扩大性而不休勉力。侥幸地是,有很多书本和站点在这方面供应了很好的建议。然而这些建议的基本都是从ASP平台任务的布局上所得出的结论,对实践取得的功能的进步没有量的丈量。因为这些建议需求加倍庞杂的编码进程并下降了编码的可读性,开辟人员就只能在看不到实践运转后果的情形下,单独权衡为了进步他们ASP使用法式的功能是不是值得支付这些价值。
本文分为两大局部,我将引见一些功能测试了局,匡助开辟人员来肯定某一特定举动是不是不但对未来的项目来讲是值得的,而且可以对本来的项目停止更新。在第一局部我将回忆一些ASP开辟的基本性成绩。在第二局部,将触及一些最优化ADO函数,并将它们的了局与挪用VB COM对象履行不异ADO函数的ASP页面停止对照。这些了局很让人开眼界,乃至有些时分是很使人受惊的。
在本文中,咱们将回覆以下成绩:
* 将ASP生成的内容写入呼应流中最无效的办法是甚么?
* 是不是应当开启缓冲器?
* 是不是应当思索向ASP代码中增添正文?
* 是不是应当为页面明白地设置默许言语?
* 假如不需求,是不是应当封闭Session 形态?
* 是不是应当把剧本逻辑放在子法式和函数区中?
* 利用包括文件有甚么影响?
* 履行毛病处置时会施加甚么样的负载?
* 设置一个高低文处置是不是对功能有影响?
一切测试都是用Microsoft的Web使用法式重点东西(WAST)来停止的,这是一个收费的东西,可以在这里(http://webtool.rte.microsoft.com/)找到。我用WAST创立了一个复杂的test 剧本,重复挪用上面所描写的ASP页面测试(每一个超越70,000次)。反响的工夫基于均匀最初字节总工夫(TTLB), 也就是从最后恳求的工夫到东西从办事器吸收最初一名数据的工夫。咱们的测试办事器是一个Pentium 166,内存为196MB,客户机为Pentium 450,内存为256MB。你或许会想这些机械的功能其实不算很初级,然而不要忘了,咱们并非要测试办事器的容量,咱们只是要测试办事器每次处置一个页面所用的工夫。测试时代这些机械不做其它任务。WAST 测试剧本、测试呈报和一切的ASP测试页面都包括在ZIP文件(http://www.asptoday.com/articles/images/20000113.zip)中,你可以本人停止回忆和测试。
将ASP生成的内容写入呼应流中最无效的办法是甚么?
利用ASP的一个最次要缘由是在办事器上生成静态内容。所以很分明,咱们测试的出发点是肯定将静态内容发送到呼应流中的最合适的体例。在多种选择中,有两个是最根基的:一是利用内联ASP标志,另外一个是利用Response.Write 语句。
为测试这些选择,咱们创立了一个复杂的ASP页面,个中界说了一些变量,然后将它们的值拔出表格中。固然这个页面很复杂也不是很适用,但它答应咱们分别并测试一些独自的成绩。
利用ASP内联标志
第一个测试包含利用内联ASP标志< %= x % >,个中x是一个已赋值的变量。到今朝为止,这个办法是最轻易履行的,而且它使页面的HTML局部坚持一种易于浏览和保护的格局。
< % OPTION EXPLICIT
Dim FirstName
Dim LastName
Dim MiddleInitial
Dim Address
Dim City
Dim State
Dim PhoneNumber
Dim FaxNumber
Dim EMail
Dim BirthDate
FirstName = "John"
MiddleInitial = "Q"
LastName = "Public"
Address = "100 Main Street"
City = "New York"
State = "NY"
PhoneNumber = "1-212-555-1234"
FaxNumber = "1-212-555-1234"
EMail = "john@public.com"
BirthDate = "1/1/1950"
% >
< HTML >
< HEAD >
< TITLE >Response Test< / TITLE >
< /HEAD >
< BODY >
< H1 >Response Test< /H1 >
< TABLE >
< tr >< td >< b >First Name:< /b >< /td >< td >< %= FirstName % >< /td >< /tr >
< tr >< td >< b >Middle Initial:< /b >< /td >< td >< %= MiddleInitial % >< /td >< /tr >
< tr >< td >< b >Last Name:< /b >< /td >< td >< %= LastName % >< /td >< /tr >
< tr >< td >< b >Address:< /b >< /td >< td >< %= Address % >< /td >< /tr >
< tr >< td >< b >City:< /b >< /td >< td >< %= City % >< /td >< /tr >
< tr >< td >< b >State:< /b >< /td >< td >< %= State % >< /td >< /tr >
< tr >< td >< b >Phone Number:< /b >< /td >< td >< %= PhoneNumber % >< /td >< /tr >
< tr >< td >< b >Fax Number:< /b >< /td >< td >< %= FaxNumber % >< /td >< /tr >
< tr >< td >< b >EMail:< /b >< /td >< td >< %= EMail % >< /td >< /tr >
< tr >< td >< b >Birth Date:< /b >< /td >< td >< %= BirthDate % >< /td >< /tr >
< /TABLE >
< /BODY >
< /HTML >
/app1/response1.asp的完全代码
之前的最好(反响速度) = 8.28 msec/page
在HTML的每行利用Response.Write 语句
很多对照好的进修文档建议防止利用后面的那种办法。其次要来由是,在输入页面和处置页面施加反响工夫的过程当中,假如web 办事器不能不在发送纯HTML和处置剧本之间停止转换,就会产生一种被称为高低文转换的成绩。大局部法式员一听到这里,他们的第一反响就是将原始的HTML的每行都包装在Response.Write函数中。
…
Response.Write("< html >")
Response.Write("< head >")
Response.Write(" < title >Response Test< /title >")
Response.Write("< /head >")
Response.Write("< body >")
Response.Write("< h1 >Response Test< /h1 >")
Response.Write("< table >")
Response.Write("< tr >< td >< b >First Name:< /b >< /td >< td >" & FirstName & "< /td >< /
tr >"</p> 由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|