【asp源码栏目提醒】:网学会员在asp源码频道为大家收集整理了“从asp 到aspnet - 厦门大学网站管理员之家 - 综合课件“提供大家参考,希望对大家有所帮助!
从
asp到
asp.net 郑海山Email: Haishion AT xmu DOT edu DOT cn Homepage: http://dog.xmu.edu.cn 从
asp到
asp.net
Asp.net的新特点
Asp.net开发实践
网络资源 值得阅读的几个源代码 开始
asp.net开发 系统升级了.net framework后不会影响原来的
asp程序。
从
asp升级到
asp.net很简单,只需到windowsupdate更新.net framework即可。
或者自己下载安装。
所以你可以尝试搭建 起支持
asp.net的服务器环境,编写一些
asp.net程序。
对于 提供虚拟主机服务的主机,在没有解决安全
问题前最好不 要升级到
asp.net。
学习时最好到图书馆去借或者买一本书籍,随便什么书都 可以,作为入门和手册。
下面列出的一部分新特点是我自己总结出来的,
asp.net的 新特点决不仅仅这些,需要大家自己挖掘。
我这里仅列出
asp.net相对于
asp的一些新特点,关于
asp.net本身语法、类 库等东西需要自行
查询书籍,这种东西只要能查得到,就 无需记忆。
如发现本ppt有任何错误,请一定写信告诉我 咳咳。
Asp.net的新特点 代码逻辑和显示页面分离 多项目开发 系统可测性提高 编译运行 真正的面向对象的语言 类Windows应用程序的开发模式 缓存 用户控件 验证组件 零部署 代码逻辑和显示页面分离
Asp时代的做法 整个文件包括程序和美工,文件从第一行到最 后一行html标签和代码混杂,一般的开发 步骤是程序员先写代码,美工根据纯文本框架的 页面或者与程序员商量好的布局设计页面,最后 由程序员套入程序。
美工更新非常麻烦,基本上必须重新套一次页 面。
代码逻辑和显示页面分离
Asp.net的Code Behind技术 通过2个文件分离代码和美工。
比如一个cb.aspx,一个cb.cs,cb.aspx 里面是美工,cb.aspx.cs是代码逻辑,两者通过cb.aspx第一行的Page指 令关联。
Src属性指定了cb.aspx对应的Code Behind文件,Inherits指定了类名, 一个cb.aspx.cs文件里面可以放入多个类,一般都只放一个类。
好处:程序员无需担心代码被美工人员覆盖。
美工和
程序员
工作可 以并行。
只需替换aspx文件,整个页面的美工、布局、排版就变化 了。
更新的
asp.net将采用Code Beside技术。
多项目开发
Asp时代 我们可以使用文本编辑器比如EditPlus编 写
asp文件,方便快捷,基本上编写的
asp只 能用来在iis里面运行,不能用作其他用途。
如果想在应用程序和
web应用程序之间共享 代码,只能采用ActiveX技术。
通过在服务 器运行regsrv32
注册组件。
增加了部署的难 度。
多项目开发
Asp.net的多项目开发
asp.net我们已经不推荐再用EditPlus编写代码 了,使用Vs.Net 2003可以极大提高编码速度。
在Vs.Net内你可以新建一个Solution,里面有多 个Project,通过把整个Web应用程序分层,每个层 建立一个Project。
比如分为
常用的3层结构:业务 逻辑层,数据访问层和表现层,如果系统足够复 杂,可以再把业务逻辑层分离出一个Component层 等等。
多项目开发 Dottext的多项目 通过分层分Project, 如果今后版本需要提 供PDA访问的版本, 只需在解决
方案内再 加入PDA的显示层, 核心代码不用重新改 写。
系统可测性提高
Asp几乎无法写单元测试代码
Asp.net通过分层可以对业务逻辑层和数据 访问层进行测试,Web表现层必须运行 在.net framework下,不可测或很难测。
单元测试 什么是单元测试? 单元测试是在软件开发过程中要进行的最低级 别的测试活动,在单元测试活动中,
软件的独立 单元将在与程序的其他部分相隔离的情况下进行 测试。
测试方法有多种,包括白盒测试,黑盒测试, 集成测试,验收测试等等,单元测试是最基本 的。
单元测试 单元测试保证代码质量 Q: 如果你写了一个函数int add_x_and_yint x int y,你如 何测试这个函数确实是正确的? A: 通过今后的函数调用并运行,用眼睛观察其正确性。
如果结果是对的,我就忽略他,认为这个函数行为是正确 的,如果结果错误,我会去调试他。
Q: 如果你只负责写函数,调用是别人的事,你如何测试 他的正确性? Q: 如何重用测试代码? 单元测试 引入单元测试 通过写一段代码 if 5 add_x_and_y2 3 error“add_x_and_y error.” //其他判断 保留这段代码,在每次函数重新修改后运行 他,如果没有打印错误,则认为函数的行为没有 改变。
单元测试
Asp.net的单元测试 通过安装NUnit测试框架,配合NUnitAddIn和 VS.net集成,使
asp.net的单元测试变得非常方便。
对每个类的关键方法编写单元测试代码,每次修 改完源代码后运行测试。
NUnitAddIn很好得把NUnit集成入Vs.net,在源 代码窗口点击右键即可运行测试。
可单独运行某 个测试,可运行所有测试。
如果测试通不过,可 以立刻定位到通不过测试的行。
Web测试 Web行为的测试可以使用NUnitAsp,通过提 交数据,抓取网页链接,判断网页内的控 件的属性值来确定网页是否按原
设计运行 着。
这个测试比较麻烦,只需对几个关键 行为进行测试。
编译运行
asp是解释型,每次访问某个页面时系统均 调入
asp源代码解释运行。
Asp.net是编译运行,系统启动后第一次访 问某个页面时系统编译该页面,并运行。
下次访问该页面时只需直接调用内存内的 二进制代码。
加快了调用速度。
编译运行 由于引入了Microsoft Intermediate Language MSIL概念,你可以使用c,c, vbscript,java,pascal等语法编写
asp.net应用 程序。
给客户提交的是二进制文件,从一定程度 上保护了源代码。
真正的面向对象的语言
Asp是伪面向对象语言。
Asp.net是真正的面向对象的语言,支持继 承、多态、封装等特性。
类Windows应用程序的开发模式
Asp所有的操作都必须程序员自行控制(有些程序员就喜欢这样。
。
。
),比 如你点击了一个按钮,你必须在客户端使用javascript给某个hidden input赋值, 并在服务端根据这个值判断是按了哪个按钮。
客户端 服务端 If “ADD” Request“Action” Then //add Else If “MODIFY” Request“Action” Then //modify Else If “DELETE” Request“Action” Then //delete End If类Windows应用程序的开发模式
Asp.net有事件驱动的感觉 在.aspx里写入 在.aspx.cs里写入 void AddClickObject sender EventArgs e //add 用户在IE内点击了增加,则页面自动Postback并执行 AddClick这个函数。
代码逻辑结构清晰。
这些同样适用于 CheckBoxList,Combo等等服务器组件。