ASP.NET Web应用程序基本架构

时间:2022-08-31 09:03:55

ASP.NET Web应用程序基本架构

摘要:.NET框架是微软提出并开发的用于网络程序设计的环境,基于Windows操作系统。该文分析研究了基于.NET框架的Web应用程序的架构,列举了几个特殊而且重要的基本元素,并附示例说明其使用方法。熟悉并应用这些元素,可以构成完整的Web应用程序,提高应用程序的效率和安全性。

关键词:;架构;配置应用程序

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)22-5225-04

随着Internet的发展和深入普及,基于Internet的Web应用得到了快速发展,实现的功能也越来越复杂。是微软提出的.NET框架的一部分,它是一种以.NET框架为基础开发WEB应用程序的全新模式,其底层用类实现,是一种面向对象的实现方法。微软给.NET下的定义为:“.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。”又称为ASP+,是微软在ASP3.0的基础上推出的动态网页设计语言,但它不是ASP的简单升级,而是微软提出的.NET框架的一部分,它本身也只是一个框架。在这个框架下可以利用、C#、C++或等程序语言。

1 Web应用程序架构

所谓Web应用程序,可以理解为通常所说的网站,在.NET环境下,实际上是添加了虚拟目录的文件夹。.NET通常需要Windows Server作为服务器操作系统,该操作系统一般自动安装IIS服务器。建立一个网站时,通常建立一个专门的文件夹,把所有涉及到的文件存入该文件夹,并通过IIS给这个文件夹设置虚拟目录。

例如,在D盘的文件夹“website1”是一个网站,通过IIS为其设置虚拟目录名为“w1”,则Internet用户可以在浏览器地址栏输入http://(计算机IP地址)/w1,访问到该网站。这里,“w1”又称为该Web应用程序/网站的根目录。网站一般有一个首页,通过首页链接到其他页面,首页一般命名为default.aspx或者index.aspx,也可以在IIS中自行设置。

Web应用程序根目录下除了各个页面文件,数据库及其他相关文件和文件夹之外,还有一些重要的、特殊的文件夹和文件,包括bin文件夹、Web.Config文件和Global.asax文件。

1) bin文件夹

bin文件夹存放所有的业务对象文件(.dll),该文件夹位于应用程序根目录。所谓业务对象,其实是一个类,与系统提供的类不同,业务对象是用户根据需要自己开发的类。业务对象中的类可以不包含界面元素,也可以包含界面元素,后者又称为自定义控件。 使用业务对象的目的是实现封装功能,另外还可以加快网页的访问速度,因为业务对象文件都经过编译。

使用业务对象的步骤如下:首先建立业务对象源程序文件,如果用,则文件扩展名为“vb”,如果使用C#,则文件扩展名为“cs”。在源文件中,需要定义NameSpace,在NameSpace中定义类及其属性和方法;其次,在DOS窗口,把源程序文件编译为DLL文件,如果是编写的源程序文件,用微软的vbc进行编译,如果是C#编写的源程序文件,用微软的csc进行编译;第三步,将编译好的DLL文件部署到bin文件夹。其中第三步也可以省略,而是在第二步编译时直接部署到bin文件夹。以后,就可以像使用.NET内置类一样,在任何页面中使用业务对象中定义的类。如果业务对象需要更新,只需要更新相应的源程序文件,重新编译并部署到bin文件夹即可,无须重启服务器。

2) Web.Config文件

Web.Config文件是Web应用程序重要的配置文件,用来存放一些常量(如数据库连接字符串)和用户访问权限设置等。

.NET框架提供了一个丰富又灵活的配置系统,使得应用程序开发及管理人员能够在整个应用程序、站点和计算机中定义和使用可扩展的配置数据。对于安装了.NET框架的Web 服务器,都有一个名称为Machine.config的特殊配置文件,它为整个Web 服务器提供配置设置。而每一个 Web应用程序都可以有自己的名称为Web.config的配置文件。

默认情况下,Visual 为每个Web 应用程序自动创建一个位于Web 站点根目录的配置文件Web.config,它包含着适用于当前站点的有关配置及安全设置。Web.config配置文件是层次式的,可以在应用程序的根目录和各级子目录下建立该文件,每一个web.Config文件在所在文件夹及其子文件夹下起作用,每一个web.Config文件继承父文件夹的web.Config文件的设置,并覆盖相同的选项,所有的应用程序都继承machine.config文件设置。在Web.config中所作的设置将覆盖Machine.config中的相应设置。而对于在Web.config中没有进行设置的属性,其取值将继承Machine.config中属性的设置。

当用户请求一个ASPX页面时,将应用该页面文件所在目录的Web.config文件中指定的访问规则和配置,如果不能从该页面文件所在的目录找到Web.config文件,或不能从中找到适用的规则,那么它就寻找该页面文件所在目录的父目录对应的Web.config文件。如果一直找不到适用的规则,则如此继续寻找下去,直到到达前面提到的Machine.config文件。默认情况下,Machine.config文件准许所有用户对网站资源的访问。一旦配置文件被更改,将检测到新的配置并自动使它起作用,无需重新启动服务器。另外,通过配置IIS来保护各级Web.config配置文件,拒绝浏览器直接URL访问,因此,即使知道该文件所在位置,也不能从远程用浏览器浏览或下载,从而保证了应用程序的安全性。

Machine.config和Web.config都是基于XML的文本文件,用特定的XML标记表示配置信息。配置文件具有如下3个特征:第一,有一个唯一的根元素,可以包含所有其他的元素,machine.config和web.config的根元素是;第二,标记区分大小写,因此和应该区别对待;第三,任何属性、关键词或值应该封闭在双引号内,如:。

例如,将数据库连接字符串保存在Web.config中,采用如下配置:

3) Global.asax文件

Global.asax文件通常用于存放Session对象和Application对象事件过程。每个应用程序可以有一个且只能有一个Global.asax文件,该文件必须放在应用程序根目录下。其中事件过程Application_OnStart(Sender As Object, E As EventArgs),是当应用程序启动后第一个客户访问时触发;事件过程Application_OnEnd(Sender As Object, E As EventArgs),当应用程序停止时触发;事件过程Session_OnStart(Sender As Object, E As EventArgs),当每一个客户登录时触发;事件过程Session_OnEnd(Sender As Object, E As EventArgs),当每一个客户超过会话时间(默认为20分钟)没有和服务器交互时触发,或者客户关闭浏览器到会话时间结束时触发;事件过程Application_OnBeginRequest(Sender As Object, E As EventArgs),当每一个客户请求访问每一个文件时触发;事件过程Application_OnEndRequest(Sender As Object, E As EventArgs),当每一个客户请求访问每一个文件结束时触发。

例如,可以在Global.asax文件中定义上述几个事件过程,以记录网站日志,在日志中记录系统启动时间,启动后每个来访用户的IP地址、访问时间、退出时间和系统的关闭时间等信息,代码形式如下:

2 结束语

.NET框架是微软开发的用于网络编程的环境,功能强大,编程简单,采用面向对象的设计方法,进行程序开发和设计。而Visual 集成了.NET框架,提供了可视环境下进行网络编程的功能,开发面向对象的Web应用程序更加方便、快捷。但是,基于.NET框架的WEB应用程序,其基本框架没有改变,除了用户自己开发的各个页面文件,数据库及其有关文件之外,重要而且特殊的文件夹bin、配置文件Web.Config和Global.asax文件,仍然是应用程序的重要组成架构,熟悉并应用这些文件和文件夹,可以提高整个应用程序的完整性和访问速度,提高整个应用程序的安全性。

参考文献:

[1] .NET Framework SDK Documentation[Z].

[2] Meier J D,Alex Mackman,Michael Dunner.构建安全的应用程序[EB/OL].http:///china/msdn/archives/library/SecurityGuide/default.asp.

[3] 张永胜的身份验证及授权机制应用研究[J].计算机应用,2004(8).

[4] Marshall D. NET 安全编程[M].余波,张立浩,译.北京:清华大学出版社,2003.

[5] 尚俊杰程序设计[M].北京:清华大学出版社,2004.

上一篇:胎儿先天性畸形的超声诊断与分析 下一篇:C反应蛋白联合降钙素原在发热患者诊断中的应用