浅析ASP.NET技术在系统开发中的应用

2010-08-23 06:15吕丽萍
科学之友 2010年14期
关键词:编译器组态网页

吕丽萍,刘 雯

(濮阳职业技术学院,河南 濮阳 457000)

1 引言

在一个系统的开发设计中,网站建设是其中重要的一环,ASP.NET动态网页技术,可简化开发操作,分离程序代码和网页内容,可分享资源,节约成本,相应的提高了系统开发的效率。下面从 ASP.NET的发展、特点以及其运行模式来分析ASP.NET技术在系统开发中的应用。

2 ASP.NET的发展情况

ASP第一个版本是 0.9测试版。它能将代码直接嵌入HTML,并且通过内置的组件实现强大功能,ActiveX Data Objects (ADO)使得建立动态页面变得简单、方便。到ASP2.0,内置的Microsoft Transaction Server(MTS)也使制做组件变得简单。

但ASP还存在许多缺陷:①组件部署和组态困难;②缺乏良好的开发模型及程序语言;③Session状态信息限于单机使用;④业务逻辑和页面逻辑混合。

为克服ASP的不足,Microsoft推出Active Server pages-ASP.NET。Microsoft.NET平台的基本思想是:用户将能控制信息的传送时间、方式和内容。计算机、设备和服务能相辅相成来提供更广泛的服务,而不是由用户提供唯一的集成。侧重点转移到计算机、设备和服务群组上,而不是连接互联网的单一网站或设备上。使其加强合作,提供更丰富、广泛的解决方案。企业可提供一种方式,允许用户将其服务和产品无缝嵌入到自己的电子构架中。

3 ASP.NET的特点

3.1 简化开发操作

在编写代码方面可页面逻辑和业务逻辑分开,分离程序代码与显示内容,程序代码更简单,使网页更易编写。

3.2 语言独立

允许使用编译式语言,具有较好的执行效率以及跨语言的兼容性。

3.3 支持多客户端类型

ASP.NET提供很多Server Control,能在网页执行期间自动检测浏览器所支持的功能,并自动生成客户端浏览器可用的网页。可以只编写一份代码供不同的客户端浏览器使用。

3.4 安全机制更完善

能提供三种不同的登录验证方式:Windows、Passport和Cookie。也可运用Impersonation功能使用登录者权限执行程序代码或存取资源。

3.5 提高执行效率

由于 ASP.NET的程序代码是编译过的,所以执行时会比ASP的直译方式快很多。另外,ASP.NET也提供快取(cache)的能力,有效地缩短了服务器的应答时间。

3.6 简化部署与组态的操作

可直接把相关文件复制到目的计算机相应目录下,不需要考虑组件注册问题。

采用容易阅读的XML组态文件Web.Config,只将其放在Web应用程序相关目录中即可完成组态的操作。

3.7 Session可跨进程

使用ASP.NET,Session的状态可在不同计算机的不同进程中维护,来解决web Farm中session的维护问题。

3.8 增进适用性

能解决应用程序故障。针对内存泄漏,能自动重新启动进程以增进适用性。

4 ASP.NET运行模式

可编译成MSIL(Microsoft Intermediate Language)的程序语言都能成为制作ASP.NET网页的语言,其中ASP.NET主要使用的三种程序语言为:Visual Basic.NET、C#、Java Script。

4.1 MSIL与ASP.NET

MSIL是介于高级程序语言及机器码之间的一种中介语言,在ASP.NET中,程序语言先编译成MSIL,然后再被编译成机器码执行。

介于MSIL和机器码之间的编译器被称为JIT(Just-In-Time)编译器,由于MSIL十分接近机器码,从MSIL编译成机器码后执行速度快,可以即时被编译成机器码在不同计算机中执行,见图1。

图1 ASP.NET在不同计算机上的编译方法

这样MSIL便具有了跨平台的特性。相对于ASP的运作模式,ASP.NET多一次编译工作。ASP.NET网页第一次被浏览要经过两次编译,第一次编译速度慢于ASP,第二次编译速度优于ASP,即ASP.NET两次编译执行总时间要大于ASP编译执行时间,所以速度比 ASP网页慢,但第一次被浏览后,MSIL被存储下来,所以同一网页第二次被浏览时,只需花费从MSIL编译到机器码后再执行的时间,结果就比ASP网页要快很多。

4.2 跨语言通讯

用C#、VisualBasic.NET等.NET程序语言编写好程序代码后,便可用.NET提供的编译器编译程序,以产生EXE或DLL文件。但此时所编译出的程序是中间语言 IL(Intermediate Language),并非 CPU 可以执行的机器码。CLR(Common Language Runtime)的Class Loader在执行时,会将IL程序代码载入内存,然后再通过 JIT(Just-In-Time)的方式编译成此平台可执行的程序。因此,无论制作者使用哪种程序语言,网页都可以将组件的源代码和使用组件网页的源代码一起编译,直接使用这些组件,从而达到节省成本、分享资源的目的。

1 [美]G..AndrewDuthie著. ASP.NET程序设计.北京:清华大学出版社,2002:23~28

2 Lloyd D. Integrating reporting services into ASP.NET. Dr Dows Journal, v29, Fwbruary, 2005:33~68

猜你喜欢
编译器组态网页
浅谈力控ForceControl V7.2组态软件在自动化控制工程中的应用
面向理想性能空间的跨架构编译分析方法
基于HTML5与CSS3的网页设计技术研究
运行速度大突破华为《方舟编译器》详解
Rh XIII—Cd XVI 离子4s24p3—4s4p4 能级与跃迁的理论计算*
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
组态软件技术现状与发展
搜索引擎怎样对网页排序
高职“工业组态技术”课程建设探析