asp网页提升网页速度方法5则

技巧之一:提高使用Request集合的效率
访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。例如将代码写成下面的形式以加快脚本引擎处理速度:
strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName") 
strLastName=Request.Form("LastName") 
If Len(strTitle) Then strTitle=strTitle & " " 
If strFirstName="" Then strFullName=strTitle & " " & strLastName 
Elseif Len(strFirstName)=1 Then
strFullName=strTitle & strFirstName & ". " & strLastName
Else
strFullName=strTitle & strFirstName & " " & strLastName 
End If

技巧之二:直接访问适当的集合
如果不是别无选择,否则不要使用strPage=Request("page")的这样的形式来获取参数,因为这将按顺序搜索全部的集合—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的集合效率低,并且是不安全的,除非能绝对保证这个值不会出现在另外一个集合中。
例如,可能希望搜索满足客户请求的WEB服务器名称,这通过出现在每个查询中的Request.ServerVarables集合中寻找“SERVER_NAME”来实现。然而,假如其他的集合也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用Request("server_Name")时,就会得到错误的结果。总而言之,应尽可能直接访问适当的集合。

技巧之三:在费时操作前使用Response.IsClientConnected属性
使用Response.IsClientConnected是观察用户是否仍连到服务器并正在载入ASP创建的网页的有用方式。如果用户断开连接或停止下载,我们就不用再浪费服务器的资源创建网页,因为缓冲区内容将被IIS丢弃。所以,对那些需要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查游览者是否已离线:
…… Code to create first part of the page
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
…… Code to create next part of page
技巧之四:优化ASP中的ADO操作
通常面言,数据构成了WEB站点的实际内容。所以,优化ADO操作以加速ASP代码执行,十分有用:
a. 仅选择所需的列:当打开ADO记录集时,除非需要获得所有的列,否则不应自动地使用表名(即SELECT *)。使用单独的列意味着将减少发送到服务器或从服务器取出的数据量。即使需要使用全部列,单独地命名每个列也会获得最佳的性能,因为服务器不必再解释这些列的名字。
b. 尽可能的使用存储过程。存储过程是预先编译的程序,含有一个已经准备好的执行计划,所以比SQL语句执行更快。
c. 使用适当的光标和锁定模式。如果所做的全部工作只是从记录集中读取数据,并将其显示在屏幕上,那么就使用缺省的只能前移、只读的记录集。ADO用来维护记录和锁定的细节的工作越少,执行的性能就越高。
d. 使用对象变量。当遍历记录集时一个肯定能提高性能的方法是使用对象变量指向集合中的成员。例如:
While Not RsGc.EOF
Response.Write "工程名称:" & RsGc("GcMC") & "(工程代码:" & RsGc("GcCode") & ")
" 
RsGc.MoveNext
Wend
可以用改写为下面的代码以加快执行:
set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode") 
While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ")
" RsGc.MoveNext 
Wend
新的代码建立了对象变量的引用,所以可以使用对象变量而不是实际的变量,这意味着脚本引擎的工作减少了,因为在集合中进行索引的次数变少了。

技巧五:不要混用脚本引擎
我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在同一个页面上同时使用JScript和VBScript则是不可取的。因为服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在一定程度上增加了系统负担。因此,从性能上考虑,不应在同一页面中混用多种脚本引擎。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这批ASPACCESS开发的项目源码是一系列基于ASP和Microsoft Access的技术开发的项目。ASP是一种面向Web的服务器端脚本语言,而Microsoft Access是一种关系数据库管理系统,两者的结合使得这些项目源码能够提供完整的Web应用程序解决方案。 这批ASPACCESS项目源码包括了多个功能丰富的Web应用程序,适用于各个行业和领域。这些应用程序涵盖了电子商务、数据管理、信息收集、报告生成等场景。项目源码以ASP作为开发语言,利用Microsoft Access数据库进行数据存储和管理,为用户提供了便捷的数据操作和交互功能。 每个项目源码都经过精心设计和开发,采用了现代化的开发技术和最佳实践。其特点包括清晰的代码结构、高效的数据库访问、安全的用户认证和授权机制、友好的用户界面等。这些项目源码还提供了丰富的功能模块和组件,例如数据输入与输出、报表生成、数据分析等,为用户提供了全面的数据管理和操作体验。 通过使用这批ASPACCESS项目源码,开发人员可以快速搭建基于ASP和Microsoft Access的Web应用程序,加快开发速度并降低风险。源码中的注释和文档也使得开发人员能够更好地理解和使用源码,提升开发效率。无论是初学者还是有经验的开发人员,都可以从这批ASPACCESS项目源码中获得学习和借鉴的价值,提升开发技能和项目交付质量。
要在 ASP.NET 网页中点击按钮后调用 Class1 的方法并输出 "Hello, Wolf!",您可以按照以下步骤进行操作: 1. 首先,创建一个名为 Class1 的类,并在其中添加一个方法用于输出 "Hello, Wolf!"。例如: ```csharp public class Class1 { public static string GetHelloMessage() { return "Hello, Wolf!"; } } ``` 在上面的代码中,我们创建了一个静态方法 `GetHelloMessage()`,它将返回 "Hello, Wolf!"。 2. 在 ASP.NET 网页的源代码中添加一个按钮和一个标签用于显示输出。例如: ```csharp <%@ Page Language="C#" %> <!DOCTYPE html> <html> <head> <title>Hello, Wolf!</title> <script runat="server"> protected void Button1_Click(object sender, EventArgs e) { string message = Class1.GetHelloMessage(); Label1.Text = message; } </script> </head> <body> <form runat="server"> <asp:Button ID="Button1" runat="server" Text="Click Me" OnClick="Button1_Click" /> <br /> <asp:Label ID="Label1" runat="server"></asp:Label> </form> </body> </html> ``` 在上面的代码中,我们将调用 `Class1.GetHelloMessage()` 方法获取 "Hello, Wolf!" 的消息,并将其存储在一个字符串变量 `message` 中。然后,我们将该消息赋值给标签 `Label1` 的文本属性。 3. 保存并运行网页。当您点击按钮时,将调用 `Class1.GetHelloMessage()` 方法并将 "Hello, Wolf!" 显示在标签中。 这是一个简单的示例,用于演示在 ASP.NET 网页中调用类方法并输出消息。您可以根据自己的需求进行修改和扩展。希望对您有帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值