一个ASP.NET 4应用程序是程序运行的基本单位,也是程序部署的基本单位。应用程序由多种文件组成,通常包括以下6部分:
(1)一个在IIS信息服务器中的虚拟目录。这个虚拟目录被配置为应用程序的根目录。虚拟目录是以服务器作为根的目录,默认安装时,IIS服务器被安装在[硬盘名]:\Inetpub\wwwroot目录下,该目录对应的URL为“http://localhost”或者“http://服务器域名”。在Internet中,向外发布信息或接受信息的应用程序必须放在虚拟目录或其子目录下面。
(2)一个或多个后缀为.aspx的网页文件,也可以含有扩展名为.html的网页文件。在ASP.NET中的基本网页是以.aspx作为后缀的文件。除此以外,应用程序中还可以包括以.html或.asp为后缀的网页,但系统执行这些网页的内部过程是有区别的。
当服务器打开后缀为.html的网页时,不经过任何处理就直接送往浏览器,由浏览器下载并解释执行。而打开后缀为.aspx的网页时,则需先创建服务器控件,运行服务器端的代码,然后再将结果转换成HTML的代码形式送往浏览器。当然也不是每次都要在服务器端重新解读和运行,对于那些曾经请求过而又没有改变的ASPX网页,服务器会直接从缓冲区中取出结果而不需要再次运行。
(3)一个或多个Web.config配置文件。Web.config是一个基于XML的配置文件,对应用程序进行配置,比如规定客户的认证方法,基于角色的安全技术的策略,数据绑定的方法,远程处理对象等。所有的ASP.NET配置信息都驻留在该文件的configuration元素中。此元素中的配置信息分为两个主区域:配置节处理程序声明区域和配置节设置区域。
每个Web.config文件都以标准的XML声明开始,但是没有这个声明也不会出错。文件中包括<configuration>的开始标记和结束标记。它的内部是<system.web>的开始和结束标记,表示其中的内容是ASP.NET特有的配置信息。这些配置信息的标记就是元素(element)。元素可以由一个或多个子元素组成,这些子元素带有开始和结束标记,元素的内容用“名字/值”对来描述。
可以在网站的根目录和子目录下分别建立自己的Web.config文件,也可以一个Web.config文件都不建,这是因为服务器有一个名为Machine.config的配置文件,默认安装在“[硬盘名]:\windows\Microsoft.NET\Framework\(版本号)\CONFIG\”目录下。这个配置文件已经确定了所有ASP.NET应用程序的基本配置,通常情况下不要去修改这个文件,以免影响其他应用程序的正常运行。
相对于.NET Framework 4之前的版本,在新的machine.config中注册了所有的ASP.NET标识部分(section)、处理器(hanlder)和模块。除了machine.config之外,ASP.NET还使用了根Web.config文件,与machine.config在同一个目录下。它提供额外的设置,这些设置注册ASP.NET的核心HTTP处理程序和模块,为浏览器支持建立规则,定义安全策略等。计算机上的所有Web应用程序都继承这两个文件的设置。在Machine.config与Web.config文件之间,以及各个目录的Web.config文件之间存在着一种层次关系。根目录的Web.config继承Machine.config的配置,子目录继承父目录Web.config的配置。只有在某个子目录的Web.config中有新的配置时,才会自动覆盖父目录的同名配置。(www.daowen.com)
(4)一个以Global.asax命名的全局文件。Global.asax文件又称为全局应用程序类,包含响应ASP.NET或HTTP模块所引发的应用程序级别和会话级别事件的代码,是一个可选的文件。一个应用程序最多只能建立一个Global.asax文件,而且必须放在应用程序的根目录下。这是一个全局性的文件,用来处理应用程序级别的事件,例如Application_Start、Application_End和Session_Start、Session_End等事件的处理代码。当打开应用程序时系统首先执行的就是这些事件处理代码。运行时分析Global.asax并将其编译到一个动态生成的.NET Framework类,该类从HttpApplication基类派生。
在Visual Studio中加入Global.asax文件后,它里面包含了常用的应用程序事件的空事件处理程序,用户只需要在相应的方法中加入自己的处理程序即可。
(5)App_Code和App_Data共享目录。放在APP_Code目录中的文件会自动成为应用程序中各个网页的共享文件。当创建三层架构时,中间层的代码将放在这个目录下以便共享。系统使用的数据库和一些专用的数据表将自动放在App_Data目录中,以实现客户管理和个性化服务。
App_Code目录包含用户希望作为应用程序一部分(可进行编译的)实用工具类和业务对象的源代码。在动态编译的应用程序中,当对应用程序发出首次请求时,ASP.NET编译App_Code文件夹中的代码,然后在检测到任何更改时重新编译该文件夹中的项。在应用程序中将自动引用App_Code文件夹中的代码。此外,App_Code文件夹可以包含需要在运行时编译的文件的子目录。
App_Data目录包含应用程序数据文件,包括MDF文件、XML文件和其他数据存储文件。ASP.NET4使用App_Data文件夹来存储应用程序的本地数据库,该数据库可用于维护成员资格和角色信息。
(6)Bin目录。该目录包含用户要在应用程序中引用的控件、组件或其他代码的已编译程序集(.dll文件)。在应用程序中将自动引用Bin文件夹中的代码所表示的任何类。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。