All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
Ajax的缺点_[AJAX教程]
叩开C#之门系列之C#与面向对象编程语言_[Asp.Net教程]
PHP技术:回帖脱衣服的图片实现_php资料_编程技术
第六篇:ListView控件与DataPager控件详解(2)_[Asp.Net教程]
PHP编写网站程序的十个经验技巧_[PHP教程]
SQL循序渐进(18)索引_[SQL,Server教程]
Asp.net获得日历控件当前选择显示的年月_.net资料_编程技术
.net根据模板生成Word文件_[Asp.Net教程]
ASP.NET2.0的控件状态和视图状态探讨_[Asp.Net教程]
ASP.NET,2.0中的Web和HTML服务器控件_[Asp.Net教程]
Reading number is top 10 pictures
做运动的校花2
Fat bird to fly
Nine school beauty star those gossip matters
Get girl by your hand
The little woman's bright wire1
China's zhejiang university to create the world's most light material
漂亮的跳舞妹妹2
穷哥们向美女求婚攻略
这才是真正的人体艺术2
A man's favorite things3--ZhouWeiTong
Download software ranking
双旗镇刀客A
WebService在.NET中的实战应用教学视频 → 第4集
Tram sex maniac 2 (H) rar bag9
VC++6.0简体中文版
Ashlynn Video4
Eclipse 4.2.2 For Win32
Tram sex maniac 2 (H) rar bag17
C#COM编程指南
WebService在.NET中的实战应用教学视频 → 第3集
White deer villiage
aaa published in(发表于) 2013/12/11 8:30:32 Edit(编辑)
如何充分利用ASP.NET,2.0预编译_.net资料_编程技术

如何充分利用ASP.NET,2.0预编译_.net资料_编程技术

如何充分利用ASP.NET 2.0预编译_.net资料_编程技术-你的首页-uuhomepage.com

  ASP.NET 1.x的开发人员常常听到用户抱怨首次调用应用程序的时候会碰到初始化延迟。毕竟,初次请求会引发一个系列过程,包括运行库初始化、分析、把ASPX页面编译成中间语言、把方法即时编译成本地代码等等。


  自从ASP.NET面市以来,开发人员一直都在要求(微软)出台一个解决办法,而ASP.NET 2.0利用预编译提供了一个有效的解决方案。


  预编译选项


  在首次启动应用程序的时候,ASP.NET会动态地分析和编译所有的ASP.NET文件(aspx页面)。运行环境要对编译的结果进行缓冲,以便更好地服务未来所有的请求。


  在服务器重启或者Web服务器重启之后,第一次启动应用程序也意味着这一过程要重新开始。而且,对应用程序任何文件的改变都会被系统检测到,而在文件发生改变之后首次运行应用程序也会让这一过程再次发生。


  很多Web开发人员都很讨厌这种初始化延迟。而预编译通过(预先)编译应用程序避免了这种延迟。


  命令行


  通过安装在.NET框架2.0里的aspnet_compiler.exe程序就能够启动预编译。它位于框架安装目录下(版本号会根据安装的框架的版本而有所不同)。下面就是这个程序默认的路径:


  C:\\Microsoft.NET


  \Framework\v2.0.5072\aspnet_compiler.exe


  您可以用-?这个命令参数查看该程序的所有参数列表,下面我就解释一下一些可用的参数:


  m:这个参数表示您将使用完整的、应用程序将被预编译的IIS元数据库路径。IIS元数据库的路径是/LM/W3SVC/1/Root/应用程序名。


  v:使用需要预编译Web应用程序的虚拟IIS路径。虚拟路径的格式是:/应用程序名。


  p:使用需要预编译Web应用程序的物理IIS路径。它是包括驱动器名和指向应用程序目录的完整路径。举个例子c:\inetpub\wwwroot\应用程序名。v这个参数必须和p一起用,所以编译器能够解析任何应用程序的根参考。


  f:表示目标目录是否要被覆盖。


  u:用来设置预编译完的应用程序是可以更新的。这表示所有的标记文件(ASPX、ASCX等等)都可以在目标目录里进行更新。


  targetDir:用于预编译应用程序文件的目标目录。下面的命令用虚拟路径和指定的目标路径预编译了一个应用程序:aspnet_compiler.exe –v /应用程序名 c:\目标目录名。


  如果没有指定目标目录,那么结果文件会被放在ASP.NET的临时文件目录里,就像在ASP.NET运行库在首次调用应用程序的时候处理编译一样。临时目录默认的路径如下:


  c:\Windows\Microsoft.NET\Framework


  \v2.0.50727\Temporary ASP.NET Files\应用程序名


  预编译另外一个好处是能够捕捉在应用程序启动阶段发生的任何错误。错误会显示在工具里,但是不会终止编译过程。


  隐藏源代码


  预编译的另外一个副产品是能够隐藏任何或者所有的应用程序源代码。这意味着其他的开发人员需要利用反编译程序或者ilasm才能够取得您的代码。这就行了——预编译让您能够以二进制文件的形式分发应用程序。


  目标目录里没有源代码。App_Code文件夹里的所有类都被编译成一个或者多个二进制文件,放到bin目录下;目标目录下不会有源代码文件(.cs、.vb、.js等等)。此外,所有的主页面文件也会被编译到bin目录下,作为隐藏文件。ASPX、ASCX和ASHX文件的所有代码和标记,以及相关的代码隐藏文件都被放在bin目录下的一个或者多个程序集里。


  隐藏源代码是毁誉参半。其他的开发人员无法以任何形式查看或者更改应用程序——即使是Web页面标记也不行。而另外一方面,对应用程序的任何改变(不论大小)都要求改变原始的源代码、重新编译和重新部署。这可能是一个十分耗时的过程,所以并不一定适用于所有的应用程序。


  可更新命令参数(u)让您能够取代这个默认的行为。使用这个参数意味着所有的标记文件(ASPX、ASCX等等)都要包括在预编译过程的输出里。一旦应用程序被部署,这些文件仍然能够用于编辑和更新。在应用程序被应用之后,小的布局问题可以通过源文件来处理,所以这是一个非常理想的参数。


  Visual Studio的支持


  在使用Visual Studio 2005开发基于ASP.NET的应用程序时,预编译是可选的。“发布Web站点(Publish Web Site)”菜单选项让您能够把网站作为一个预编译应用程序推到另一个位置。此外,上面还有一个复选框让您设置可更新选项。


  总结


  ASP.NET 2.0的预编译选项让您能够预编译Web应用程序,以避免(像一般编译一样)首次调用应用程序的延迟。此外,它还提供了一定的安全性,因为程序的源代码在结果中是不可见的,所有的内容文件都可以被隐藏。






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.