第一章 架构 1.4 编译 & 1.5总结1.4 编译ASP.NET 2.0 的编译文件夹:
\App_Code \App_Code文件夹用于存储类、.wsdl 文件和类型化的数据集。存储在这个文件夹中的所有项都可自动用于解决方案中的所有页面。编译结果:把某个对象放在这个文件夹后,VS2005 就会自动检测到它,如果它是一个类(.vb或.cs),就编译它,自动创建 XML Web 服务代理类(从.wsdl 文件中),或从.xsd文件中自动创建类型化的数据集。文件自动编译后,这些项能立即用于同一个解决方案中的任意 ASP.NET 页面。
App_DataApp_Data文件夹保存应用程序使用的数据库。它是一个集中存储应用程序所用数据 库的地方。\App_Data文件夹可以包含 Microsoft SQL Express 文件(.mdf)、Microsoft Access 文件(.mdb)、XML 文件等。应用程序使用的用户账户具有对\App_Data 文件夹中任意文件的读写权限。该用户账户默认为 ASPNET 账户。在这个文件夹中存储所有数据文件的另一个原因是,许多 ASP.NET 系统,从成员和角色管理系统到GUI工具,如ASP.NET MMC插件和ASP.NET Web站点管理工具,都构建为使用\App_Data 文件夹。编译结果:不编译。
\App_ThemesTheme是为站点上的每个页面提供统一外观和操作方式的一种新方法。通过.skin文件、CSS文件和站点上服务器控件使用的图像来实现主题功能。所有这些元素都可以构建一个主题,并存储在解决方案的\App_Themes 文件夹中。把这些元素存储在\App_Themes文件夹中,就可以确保解决方案中的所有页面都利用该主题,并把其元素应用于控件和页面的标记。编译结果:编译成独立的程序集。
\App_GlobalResources 资源文件是一些字符串表,当应用程序需要根据某些事情(如文化上的改变)进行修改时,资源文件可用于这些应用程序的数据字典。可以在这个文件夹中添加程序集资源文件(.resx),它们会动态编译,成为解决方案的一部分,供应用程序中的所有.aspx 页面使用。 在使用 ASP.NET 1.0/1.1 时,必须使用resgen.exe 工具,把资源文件编译为.dll 或.exe,才能 在解决方案中使用。而在ASP.NET 2.0中,资源文件的处理就容易多了。除了字符串之外,还可以在资源文件中添加图像和其他文件。编译结果:编译成一个只包含资源的程序集。作用域为全局。
\App_LocalResources\App_GlobalResources 文件夹用于合并可以在应用程序范围内使用的资源。如果对构 造应用程序范围内的资源不感兴趣,而对只能用于一个.aspx 页面的资源感兴趣,就可以使用\App_LocalResources 文件夹。可以把专用于页面的资源文件添加到\App_LocalResources 文件夹中,方法是构建.resx文件名,如下所示: Default.aspx.resx Default.aspx.fi.resx Default.aspx.ja.resx Default.aspx.en-gb.resx现在,可以从\App_LocalResources 文件夹的相应文件中检索在Default.aspx页面上使用的资源声明。如果没有找到匹配的资源,就默认使用Default.aspx.resx资源文件。如果客户机使用 fi-FI(Finnish)文化设置,就使用Default.aspx.fi.resx 文件。编译结果:编译成一个只包含资源的程序集。只供相关资源使用。
\App_WebReferences\App_WebReferences文件是ASP.NET以前版本中Web References文件夹的新名称。使\App_WebReferences文件夹可以自动访问应用程序引用的远程Web服务。编译结果:每个端点生成一个Web代理(?不明白)
\App_Browsers\App_Browsers 文件夹包含.browser 文件,这些.browser 文件是XML文件,用于标识向应用程序发出请求的浏览器,并识别描述这些浏览器具备的功能。C:\Windows\Microsoft.NET\Framework\v2.0xxxxx\CONFIG\Browsers 上有可全局访问的.browser 文件列表。另外,如果 要修改这些默认浏览器定义文件中的任意部分,只需把相应的.browser 文件从Browsers文件夹复制到应用程序的\App_Browsers 文件夹中,并修改定义即可。编译结果:每个.browser文件被编译成本地类ApplicationBrowserCapabilitiesFactory的一个方法,在需要的时候用于填充一个HttpBrowserCapabilities实例。
\Bin\Bin为.dll程序集文件编译结果:不编译。在执行其他与网站相关的编译时候,将以影子方式copy并引用这个目录中的程序集。
ASP.NET 2.0中最重要的变化可能是新增了ASP.NET编译器,即asp_compiler.exe。它可以让程序员能够对整个网站进行编译,从而只部署二进制程序集。在ASP.NET 2.0中,将可以采用三种的部署方式:1、完全为源代码(全部文件都是请求到达时即时编译)2、完全为二进制(全部文件都是部署时编译好的二进制程序)3、可更新的部署(所有源代码都是部署时候编译成二进制文件,但是aspx、ascx、master、ashx、asax等都保留不变,并在请求时即时编译)
\App_Code目录下的程序集的生成还可以按需定制。可以在Web.config文件的<System.web><compilation><CodeSubDirectories>节中指定哪些子目录编译成独立的程序集。
1.5 总结ASP.NET 2.0在事件,页面生命周期,部署方式方面都比ASP.NET 1.0有了更多的选择和改进。
转载于:https://www.cnblogs.com/KenBlove/articles/997102.html
相关资源:JAVA上百实例源码以及开源项目