探索剖析VS2003与VS2005编译的全过程
创始人
2024-06-13 08:41:07
0次

由于VS2003与VS2005编译程序太多,此处无法上传,所以大家有communitysever的可以从里面获得然后反编译为自己所用,没有的就到网络上搜下吧,有许多资源呢!我就是在相关IT论坛上找到的。

ASP.NET 1.x中的编译

ASP.NET1.x 中的主要编译模型会导致一个应用程序程序集(包含所有的已编译代码隐藏文件和其他的源代码)和一个为每个被请求的 ASPX 页而创建的临时程序集。在有些情况下,编译器优化(例如批处理)会引起将临时 ASPX 页编译到同一个程序集中。在任一种情况下,每个 ASPX 页都编译到一个临时程序集中,这样它可以加载到 ASP.NET 运行库。

虽然这种模型有优点,但它也有两个主要缺点。首先,ASPX 页必须要以人们可以阅读的形式部署到 Web 站点。如果开发人员使用代码内联 模型,这意味着,一些(或所有)的业务逻辑也可以部署在生产服务器上。虽然没有将 IIS 和 ASP.NET 配置为公开原始的 ASPX 页,但聪明的攻击者仍可以通过任何攻击(该攻击打开到 Web 服务器的通道)来访问这些文件。其次,第一次有人请求某 Web 页时,响应速度将比正常速度慢一些,原因在于 ASP.NET 运行库必须VS2003与VS2005编译 ASPX 页。 #t#

这整个过程中,开发人员拥有的唯一控制权是决定是否批编译 ASPX 页。在 ASP.NET 1.x 中,可以通过修改 标记在 web.config 文件中配置批编译。 清单 4. 配置批编译 批编译用启动时间换取减少第一次请求 Web 页的加载时间。批编译的另一个好处是所有的 ASPX 文件都编译到一个临时程序集中,而不是一页一个临时程序集。

 ASP.NET 2.0 中的编译

ASP.NET 2.0 为 Web 应用程序提供三种不同的编译模型:

普通 (ASP.NET 1.x) — 在一个普通的 ASP.NET Web 应用程序中,代码隐藏文件被编译到一个程序集并存储在 /bin 目录中。根据要求编译 Web 页 (ASPX)。该模型对大多数 Web 站点都运行得不错。但是,编译过程使得第一次请求 ASP.NET 页时的速度比随后的请求速度缓慢。ASP.NET 2.0 继续支持这种编译模型。

部署预VS2003与VS2005编译 — ASP.NET 2.0 的一种新功能,允许在部署前对项目进行完整编译。在完整编译中,所有的代码隐藏文件、ASPX 页面、HTML、图形资源以及其他的后端代码都被编译到一个或多个可执行程序集中,这取决于应用程序的大小和编译设置。这些程序集包含所有的已编译 Web 站点代码,而资源文件和配置文件被复制,没有做修改。这种编译方法以牺牲修改部署后 Web 站点的能力为代价,提供了最好的性能和安全性。如果您使用高可见或高安全的 Web 站点,这种选项是最终部署的最好选择。但是,如果您正在构建一个运行局部 Intranet 的小站点,并且更改站点非常频繁,那么完整预编译可能有点过分。  #t#

ASP.NET 2.0 编译模型也允许预编译应用程序的所有代码隐藏文件并且仍可以更新代码。可以将代码隐藏文件和原始的 .ASPX 文件(都是局部类)编译到一个预编译类中(页面的基类)。如果选择在运行时编辑 .ASPX 文件,只需重新编译页面即可。

完整的运行时VS2003与VS2005编译 — 在部署预编译的另一个极端,ASP.NET 2.0 提供一种在运行时编译整个应用程序的新机制。也就是说,可以将未编译的代码隐藏文件和其他相关的代码放在 \app_code 目录中,并让 ASP.NET 2.0 创建并维护对程序集的引用,这些引用将在运行时根据这些文件生成。这种选项以在服务器上存储未编译代码为代价,在更改 Web 站点内容方面提供了最大的灵活性。 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...