当一个web应用程序完成后,部署到iis中有以下几种方式:
源码部署:
就是把工程内的文件原封不动的Copy到iis中。当有请求的时候,asp.net会在编译目录的根目录下寻找一个以.compiled为扩展名的保留文件(Preservation File)。每一个Page页面都会有一个对应的保留文件。保留文件只会存在于编译根目录下。里面记录了Page类编译后的相关信息。如果没有,则会对请求的页面进行动态编译。编译生成dll的目录一般是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files。编译的范围是以目录为单位。编译的过程是将前台aspx页面与后台cs页合并生成dll,并在编译目录的根目录下生成一个保留文件。如果有,则判断从上一次编译后相关源代码是否进行过修改,如果修改过了,则再次编译。最后通过保留文件提供的信息来加载编译后的程序集及以后操作。
比如一个default.aspx页面。在dll中会产生两个与其对应的类:default与default_aspx。其中前者只编译了后台cs代码,后者才是default.aspx页面的最终体现。
优点:最灵活。
缺点:很差安全性。首次访问很慢
可更新的预编译部署:
这种方式会将所有后台cs文件编译到一个dll程序集中,当有请求时,会对相应的前台aspx文件与dll程序集中相应的类进行动态编译。
但是以这种方式生成的dll与完全动态生成的Dll有所不同:比如一个default.aspx页面,在bin目录中的dll里只会有default类,没有default_aspx类,因为只是部份编译。等到对default.aspx页面进行了访问后,会在Temporary ASP.NET Files目录下生成另一个dll文件,此文件只包含default_aspx类,也就是说,只编译后台cs代码所生成的类与最终aspx与cs合并后生成的类不在一个程序集里面。
优点:灵活。
缺点:较差安全性。首次访问慢。
不可更新的预编译部署:
这种方式会将所有前台aspx与后台cs文件编译到一个dll程序集中,但还是会留下aspx占位文件。当有请求时,直接进行操作。
优点:不灵活。
缺点:无首次访问慢的问题。
参考的文章:
ASP.NET2.0编译模型
http://www.cnblogs.com/papaya73/archive/2008/07/04/1235977.html
深入剖析ASP.NET的编译原理之一:动态编译(Dynamical Compilation)
http://www.cnblogs.com/artech/archive/2007/05/21/753620.html
深入剖析ASP.NET的编译原理之二:预编译(Precompilation)
http://www.cnblogs.com/artech/archive/2007/05/26/760292.html
分享到:
相关推荐
ASP.NET 第一步学习笔记 ASP.NET 是一种基于 Microsoft .NET Framework 的 Web 应用程序开发平台,它提供了一个强大和灵活的开发环境,允许开发者快速构建功能强大且可维护的 Web 应用程序。下面是 ASP.NET 第一步...
- ASP.NET页面最终会被编译为托管代码,在CLR环境中运行。 - 这意味着所有ASP.NET页面都将享有CLR提供的服务,如自动内存管理、安全检查等。 - 通过这种方式,ASP.NET能够实现高性能和高安全性。 通过以上总结,...
本压缩包包含的资源是关于ASP.NET的学习资料,包括“ASP.NET学习大全”,这可能是一本详细的教程或者一系列的学习笔记。 在学习ASP.NET时,首先需要理解其基本概念。ASP.NET不仅仅是一种编程语言,更是一个包含了...
ASP.NET提供了编译式的编程模型,允许开发者使用C#、VB.NET等语言编写代码,提高了开发效率和应用性能。 第二天,会涉及Web Forms,这是ASP.NET最原始的开发模式,它提供了一种类似于桌面应用的事件驱动编程模型。...
在这个名为"asp.net原创学习资料"的压缩包中,我们可以期待找到与ASP.NET相关的各种学习资源,包括可能的教程、示例代码、笔记或者appofeng的个人博客文章。 ASP.NET的主要组件包括ASP.NET Web Forms、ASP.NET MVC...
4.1 ASP.NET的网页代码模型分为两种主要类型:单文件页模型和代码隐藏页模型。这两种模型都能提供控件拖放和智能代码生成的支持,但它们的组织方式不同。 4.1.1 创建ASP.NET网站时,可以选择创建网站或应用程序。...
ASP.NET架构基础知识主要涵盖Web应用程序的生命周期、请求处理过程以及页面编译模型。在这个主题下,我们将深入探讨ASP.NET如何接收并处理来自客户端的HTTP请求,以及如何在服务器端进行编译和执行。 首先,ASP.NET...
***预备知识学习笔记涵盖了***技术的基础知识,为入门者提供了一个全面的预备知识概览。以下内容将详细介绍.NET Framework框架、***基础概念、以及相关的编程和开发知识。 .NET Framework框架是由微软开发的一套...
2. **项目文件(.csproj)**:每个ASP.NET Web应用程序或库都有一个对应的项目文件,定义了编译和构建设置。 3. **源代码文件(.cs)**:这些文件包含了用C#编写的代码,包括控制器、模型、视图以及服务等。 4. **...
本资源"**C#源码.rar**"是针对学习者提供的重要参考资料,其中包含的源代码示例可以帮助理解和深化对C#和ASP.NET的理解。 首先,让我们深入了解一下C#语言。C#由微软公司开发,设计目标是成为一个现代、类型安全且...
【 Dot .net 学习3.rar _ Dot .asp.net】是一个关于使用.NET框架进行Web程序开发的教学资源,主要聚焦在C#编程语言上。这个压缩包包含了一系列的学习材料,旨在帮助用户从零基础开始,逐步掌握ASP.NET技术,成为一名...
至于【压缩包子文件的文件名称列表】中的"中文asp.net留言本 BETA 1.0",这可能是该应用的主程序文件,包含编译后的ASP.NET页面和类库。而"代码中国.txt"可能是一份由开发者编写的文档,可能包含了开发过程的笔记、...
Asp.NET 2.0 是微软开发的一种用于构建动态网站、Web应用程序和Web服务的框架。这个框架在2005年发布,是ASP.NET 1.x的重大升级,引入了...对于学习和理解Asp.NET 2.0以及电子商务网站的开发流程,这是一个宝贵的资源。
这个“英语沙龙全站系统”是ASP.NET 2.0技术的具体应用实例,对于学习和理解ASP.NET框架及其在实际项目中的应用,具有很高的参考价值。同时,它也展示了如何将编程技术与教育领域相结合,为用户提供一个交互式、个性...
【ASP.NET技术详解】 ASP.NET是由微软开发的一种服务器端Web应用程序框架,用于构建动态网站、Web应用程序和Web服务。它提供了丰富的控件、强大的数据访问功能以及高效的代码编译机制,使得开发者能够快速构建功能...
3. 类库和框架:两者都有丰富的第三方库和框架,如Java的Spring、Hibernate,.NET的ASP.NET、Entity Framework。 4. 性能:.NET在某些情况下可能表现出更好的性能,但Java的JIT编译和垃圾回收机制也有其优势。 5. ...
1. **ASP.NET MVC2框架**:ASP.NET MVC是一种模式驱动的Web应用程序框架,它允许开发者使用Model-View-Controller(模型-视图-控制器)架构模式来构建可测试、灵活且易于维护的Web应用。MVC2是该框架的一个早期版本...