crosoft.NET框架,是由.NET框架提供的编程类库所组成的,它提供了Web应用程序模型,并采用面向对象的思想--模块化与组件化的技术而构建。
那说到ASP.NET,就不得不先了解下.NET,其全称为Microsoft.NET。Microsoft.NET平台包括用于创建和操作新一代服务的.NET基础结构和工具;可以启用大量客户机的.NETUserExperience;用于建立新一代高度分布式的数以百万计的.NET积木式组件服务;以及用于启用新一代智能互联网设备的.NET设备软件。Microsoft.NET产品和服务-包括Windows.NET,连同建立积木式服务的核心集成套件;MSNTM.NET;个人订购服务;Office.NET;VisualStudio.NET;以及用于.NET的BCentralTM。
上面的图就是ASP.NET的基本体系结构,其中.NET框架提供CLR(CommonLanguageRuntime即通用语言运行时)编译和管理程序页面中代码的执行,类库则是提供了一系列的用于处理请求和生成响应的公共代码,程序员可以直接调用该类库。ISAPI(InternetServerApplicationProgrammingInterfaces)过滤器是ASP.NET与IIS通信的接口,其中的应用程序作为DLL来实现,并且加载到InternetServer的进程空间,这样可以保证应用程序更快地执行。ASP.NET本身包含一个缓存cache和一个状态管理器,其中cache用来缓存经常使用的Web页面,目的是提高服务性能。状态管理器用来跟踪用户的会话状态信息,目的是进行更加完美的数据交互。
在数据库连接上ASP.NET是通过ADO.NET(ActiveDataObject动态数据对象)上的ManagedProvider(管理供应商)所提的应用程序编程接口(API)来实现数据源的数据访问,包括OLEDB和ODB(以开放性数据库互连)所支持的数据库。下面来说下ADO.NET的主要的特性:
互操作性:ADO.NET模型最大限度地利用了由业界大型的外观标准XML提供的灵活性。ADO.NET使用XML在组件之间以及层之间传送数据集。任何支持XML格式的组件都可以处理数据,而且接收数据的组件也不一定是ADO.NET组件。发送或传送数据集的组件只需要向数据集的目的地发送数据集,而不用担心接收组件是如何去执行的,请求数据集的组件也就是目的组件可以像VisualStudio应用程序或其他应用程序那样执行接收任务。但是,很重要的一点是:接收组件应该支持XML格式。
可维护性:可维护性现在已是评价一种软件程序的标准,可维护性的高低将直接影响应用程序的升级维护的操作负担。应用程序的维护我们期待的是提高其性能,在次,不用重新设计,而是调用应用程序之后层次的增加。如果原来的应用程序是在ADO.NET中使用数据集执行的,那么这种转变相对就容易的多,在ADO.NET中,层之间的通信相对简单,这是因为层是通过XML格式的数据集传送数据的。下面的是一个简化了的ADO.NET工作原理图:
可编程性:ADO.NET模型使用类型化的程序设计操作对象。在类型化程序设计中,程序设计环境或程序设计语言本身识别对象的类型,这对用户来说是很重要的。对那些没有或者有很少编程经验的终端用户来说,对代码的理解也是很容易的。而且,在非类型化的程序设计中,如果开发人员偶尔发生拼写错误,那么将产生一个运行时错误。而在类型的数据集中,误写导致的语法错误会在编译时就检测出来。
性能:在ADO中,当使用COM组件技术跨层传送数据时,可以采用已短开连接的记录集形式,这些值必须转换为COM能够辨认的数据模型,这样就降低了性能。而ADO.NET能使用已断开连接的数据体系结构,这反过来会使得伸缩性更加的容易实现,因为这减少了数据的装载量(不需要任何的数据转换)。因此,在ADO.NET模型中,任何对象都可以在客户端进行处理,这样就提高了其性能。
可伸缩性:基于WEB的以数据为中心的应用程序需要多个用户同时访问数据库,这增加了对访问数据库的要求,使得可伸缩性成为最主要的特征之一。使用资源(比如数据库连接和数据库锁定)的应用程序。不支持多用户同时访问数据,这是因为用户对有限资源的要求最终会超出它们的供应能力,因为ADO.NET使用了已断开连接的数据访问,所以应用程序不用长时间保持数据库锁定状态或者数据库连接激活状态。由此,ADO.NET可以通过鼓励程序员保存有限的资源来提供可伸缩性,并允许多用户同时访问数据。
ADO.NET对象模型主要有两个层次:
已连接的层:由管理提供程序组成的类组成
已断开连接层:根植于Dataset
自从Internet出现以来,网络安全一直是人们关注的问题。其中的原因包括在Internet上传送敏感数据,在Web应用程序之间交换敏感数据以及黑客的威胁等。对于Web应用程序的开发人员和管理员来说,安全是个重要的问题,也是个令人头痛的问题,因此需要格外细致的进行规划和设计。在ASP.NET应用程序中,安全性涉及三个基本的操作:身份验证,授权和模拟(冒名顶替)。
身份验证(Authentication):这是验证用户身份的有效过程,以便决定是否允许通过,通常,身份验证就是验证用户名和密码的过程,除了这种常见的身份验证方式以外,还有比较复杂的验证方式。具体来说身份验证有三种形式:匿名验证,基本验证和集成的Windows验证。其中匿名验证即允许用户在不用通过用户名和密码的情况下浏览网站;基本验证即是我们平常说的用户和密码验证了,这中方式需要对密码进行加密,不然很可能被未授权的用户非法使用,但是加密技术一直不是很理想,所以这种验证方式的使用一直没被保密性较强的WEB应用程序使用。集成的Windows验证,除了满足基本的验证的条件外,用户还必须是有效的Windows用户。在这种模式下,IIS服务器将用Windows域名控制器验证用户名和密码。
授权(Authorization):这是确保允许拥有有效身份的用户只能访问授予访问权限的那些资源的过程。我们可以对IIS服务器进行配置可以控制用户对资源的访问,通过标记网站上可允许的操作可以控制对IIS网站的访问权限。
模拟(Impersonation)当请求从IIS传递到应用程序时,通过使用模拟,ASP.NET应用程序可以选择以这些应用程序当前正为之操作的客户的身份执行。通常这样做的原因是为了避免在ASP.NET应用程序代码中处理身份验证和授权问题。
在WEB服务上开发人员可以用ASP.NET生成一个扩展名定为.asmx的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络服务。asmx文件包含对在其他地方定义的受控的类的引用,或者包含这个类的定义。这个类是由ASP.NET提供的WebService类所派生。公有的类方法在标记上WebMethod属性后,就会成为网络服务方法,把HTTP请求发送到asmx文件中的URL后,这些方法就会被调用。网络服务为在Internet上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。网络应用程序很容易与当地开发的服务或己存在的服务集成在一起,而不用考虑开发平台、开发语言或使用的对象模型,以用于实现任何组成的服务或应用程序。
2.2ASP.NET技术在实例中的应用
实例是一个BtoC的电子商务网站,在网站设计中使用了ASP.NET一些关键技术
2.2.1ASP.NET内置对象的应用
ASP.NET有七个主要的内置的对象,分别是:
对象名
对象说明
Page
用于设置与网页有关的属性、方法和事件
Request
从浏览器(用户端)获取信息
Response
发送信息到浏览器
Server
提供服务器端的属性和方法
Session
存储单个客户端的信息
Application
存储客户端的共享信息
Exception
捕捉ASP.NET的错误,返回错误信息
Page对象最主要的
上一篇:
asp_net很好的美容院管理系统加论文(论文和程序)
下一篇:
关于应用类课程计算机软件论文