仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 437|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之ASP中强健的页布局的非常处置

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:31:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。在本文会商的局限内,有三个分歧的中央能够产生毛病:剧本,两头件,和IT外部架构。IT外部架构的毛病,例如周期性的功能下降并招致IIS举行(Inetinfo.exe)溃散几近是没法制止的。这类范例的毛病一般只能打德律风请求手艺撑持而且会让体系办理员忙上好久。开辟者不克不及为制止这类毛病做些甚么,可是我们一般可以对付和更正剧本和两头件中的砦蟆?在安装了IIS今后,缺省的服务器端剧本言语被设置成VBScript。很多Web开辟团队在他们的开辟情况中坚持了这些缺省设置,这是不幸的,由于VBScript关于处置运转时毛病的撑持十分的差。在VBScript中,开辟者可使用的独一一个毛病处置布局是<P>  OnErrorResumeNext(翻开毛病处置功效)和
  OnErrorGoTo0(封闭毛病处置功效)
  为了在你的ASP页面里无效的利用这个毛病处置布局,你大概必要用这些布局包含大概抛出非常的代码,就象上面如许: 
<P>  <%
  DimmyVar
  OnErrorResumeNext
  上面一行代码会在MSXML4.0没有被安装大概已破坏的情形下发生毛病
  SetmyVar=Server.CreateObject("MSXML2.DOMDocument.4.0")
  IfErr.Number<>0Then
  在这里处置毛病
  停止毛病处置,制止今后产生的毛病没法被发明
  OnErrorGoTo0
  Else
  myVar如今指向MSXML4.0DOMDocument的一个实例
  停止毛病处置,制止今后产生的毛病没法被发明
  OnErrorGoTo0
  EndIf
  %>  
  就象你看到的一样,假如你要在每行现有的大概产生毛病的代码上利用下面的划定规矩,你的程序即刻就会充斥"OnError"和"IfErr.Number<>0Then..."如许的布局。
  而另外一方面JScript关于强健的毛病处置机制“布局化非常处置(SEH)”有内建的撑持。利用SEH可以让你的软件开辟团队顺遂的转移到.NET情况下去,由于SEH是JScript.NET,VB.NET,和C#缺省的毛病处置机制。(注重:.NET不撑持VBScript。)上面的例子代码实行与VBScript代码不异的操纵,可是利用JScript言语并用SEH来处置非常  
<P>  <%@LANGUAGE="JScript"%>
  <%
  varmyVar;
  try{
  myVar=Server.CreateObject("MSXML2.DOMDocument.4.0");
  //假如下面产生了毛病,那末catch
  //代码块就会立即被实行
  //并在myVar长进行需要的操纵。
  }
  catch(e){
  //在这里处置非常,非常自己能够用
  //e变量举行援用。
  }
  finally{
  //在这里举行一切扫尾事情
  //这段代码不论毛病有无产生
  //(也就是“catch”块有无运转)
  //城市实行。
  }
  %>
  经由过程在服务器端利用JScript,你就失掉了SEH带来的优点,和对庞大ASP工具,例如Server,Request和Response工具的完整利用。要把这类剧本言语设置成你的ASP页面的缺省言语,你只必要复杂的在你的ASP页面上增加@LANGUAGE指令,就象下面的例子那样。
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
海妖 该用户已被删除
9#
发表于 2015-3-24 14:46:37 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 17:09:49 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
只想知道 该用户已被删除
7#
发表于 2015-3-11 00:43:07 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
谁可相欹 该用户已被删除
6#
发表于 2015-3-1 22:19:46 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
小魔女 该用户已被删除
5#
发表于 2015-2-11 05:17:46 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
不帅 该用户已被删除
地板
发表于 2015-2-5 04:44:43 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-27 08:15:32 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
飘灵儿 该用户已被删除
沙发
发表于 2015-1-19 16:11:08 来自手机 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 04:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表