第一章 架构 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_Data
App_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_Themes
Theme是为站点上的每个页面提供统一外观和操作方式的一种新方法。通过.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

第一章 架构 1.4 编译 amp; 1.5总结相关推荐

  1. (ImGu)ImPlot_Demos第一章,windows平台编译

    ImPlot_Demos是ImPlot的一些教学示例,而Implot基于ImGui的扩展(不知道正确不正确),里面写了许多基于ImGui实现的界面Demo.而ImGui(现在改名为Dear ImGui ...

  2. 《Openwrt开发》第一章:newifi3 刷自己编译的Openwrt固件

    最近在淘宝入手了一个二手的newifi3,主要是因为它内存大,而且性价比相当高,512M的ddr2和32M的flash买下来才100左右. 好了,废话不多说,开始第一章的源码编译征程. 1.准备 源码 ...

  3. 第一章 PX4-Pixhawk-程序编译过程解析

    第一章 PX4程序编译过程解析 PX4是一款软硬件开源的项目,目的在于学习和研究.其中也有比较好的编程习惯,大家不妨可以学习一下国外牛人的编程习惯.这个项目是苏黎世联邦理工大学的一个实验室搞出来的.该 ...

  4. 第一章 PX4程序编译过程解析

    版权声明:本文为博主原创文章,未经博主允许不得转载. 第一章 PX4程序编译过程解析 PX4是一款软硬件开源的项目,目的在于学习和研究.其中也有比较好的编程习惯,大家不妨可以学习一下国外牛人的编程习惯 ...

  5. 操作系统思考 第一章 编译

    第一章 编译 作者:Allen B. Downey 原文:Chapter 1 Compilation 译者:飞龙 协议:CC BY-NC-SA 4.0 1.1 编译语言和解释语言 人们通常把编程语言描 ...

  6. 读《大型网站技术架构:核心原理与案例分析》第一章:大型网站架构演化

    写在前面 从开始写代码到现在,已经做了好几个项目了,BS和CS的都有,一直都以一个码农自居.但,作为一个进步的程序员,都有一个成为架构师的理想.于是,在平时的工作中,也积极的去看各种书籍,看园子里面的 ...

  7. 大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》

    第一章 面向服务的体系架构(SOA) 伴随着互联网的快速发展和演进,不断变化的商业环境所带来的五花八门.无穷无尽的业务需求,使得原有的单一应用架构越来越复杂,越来越难以支撑业务体系的发展,因此,系统拆 ...

  8. 走向ASP.NET架构设计--第一章:走向设计

    走向ASP.NET架构设计--第一章:走向设计 前言:很多做开发的人都在不断的摸索着,积极的学习,试图找出一条走向架构设计的成功法则.每当有人问起我们的职业,我们也常常在说:"软件设计&qu ...

  9. Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 1 第一节 原则 kiss 1 第二节 提升到层次哲学层次 1 第三节 命名也要通用抽象 隐藏细节 1 第二章 通用性原

    Atitit保证架构超前性 前瞻性 目录 第一章 简单抽象原则 道和术的区别 第一节 原则 kiss 第二节 提升到层次哲学层次 第三节 命名也要通用抽象 隐藏细节 第二章 通用性原则  扩展性 第一 ...

最新文章

  1. 在CentOS 7中安装与配置Tomcat-8方法
  2. Java 面试高频题:Spring Boot+Sentinel+Nacos高并发已撸完
  3. 爱python网_Python
  4. pyqt5获取文本框里输入的值_实战PyQt5: 060-输入对话框QInputDialog
  5. 连不上 GitHub 的朝鲜,也开发出了人脸识别技术
  6. JVM详解之:java class文件的密码本
  7. Angular定义服务-Learn By Doing
  8. 作业:Regular Expression
  9. java+connect+time+out_聊聊jdk httpclient的connect timeout异常
  10. POJ 1001 Exponentiation
  11. 韩国央行行长李柱烈:加密货币的波动给金融稳定带来风险
  12. Quicktime:如何在录制屏幕时录制系统声音
  13. [源码和文档分享]基于汇编语言实现打字练习软件
  14. ios重签名工具ios-app-signer的使用
  15. 腾讯帝国15年争霸之路:谁说我只会抄袭,不会创新?
  16. 阿里 P6 面试体验
  17. repo init 下载代码error.GitError: manifests ls-remote: usage: git ls-remote
  18. 鼎捷t100架构_新合发集团借助鼎捷T100信息化全面升级!
  19. JavaScript边学边玩的小游戏、好用的js网站:
  20. VC中 WM_SHOWWINDOW 与ShowWindow()的区别

热门文章

  1. REACT是否真的就比VUE强?(文末附两个框架的学习福利)
  2. 计算机基本接口6,计算机接口第6章.ppt
  3. c语言控制安卓桌面,让你自己编写的Android的Launcher成为系统中第一个启动应用程序,也是唯一的Launcher...
  4. GitHub改为token验证后,如何提交代码?
  5. excel 显示超链接_临下班老板让我创建几百个超链接跳转,我就用了1秒,绝不加班...
  6. Node.js路径操作
  7. 虚拟机linux扩展磁盘容量,kvm虚拟机扩展磁盘容量
  8. 用标号跳出当前多重嵌套循环是否继续执行循环_在Java中如何跳出当前的多重嵌套循环?...
  9. java web maven 结构及从零创建jfinal项目
  10. vb 关于窗口样式的API以及处理文本的API参考