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

Reading number is top 10 articles
如何在SQL,Server中保存和输出图片_[SQL,Server教程]
优秀的社区软件Discuz!之NT版本教程_.net资料_编程技术
C#中的throw语句使用方法
vbscript下将小写金额转成大写金额_JavaScript技术_编程技术
巧用Ajax和RSS做个人门户网站_[AJAX教程]
ASP.NET页面中冻结DataGrid的列或头部_.net资料_编程技术
Ajax无刷新实现图片切换特效_.net资料_编程技术
关于ASP.net服务器的入侵方法详解_[Asp.Net教程]
XML字符串和XML DOCUMENT的相互转换_[XML教程]
谈PHP生成静态页面_[PHP教程]
Reading number is top 10 pictures
The money of more than 100 countries and regions10
含苞欲放的素颜美少女3
女人化妆前后的对比
锄禾日了几个人?
Household design of gorgeous series
Sell the barbecue as says father du breul2
A man's favorite things5
Ashlynn Brooke a group sexy photo3
HongMenYan premiere XinLiangGong clairvoyant outfit PK YiFeiLiu1
ashlynn brooke
Download software ranking
Ashlynn Video5
matrix1
matrix3
Boxer Classic video3
C#COM编程指南
C++教程第四版
SP4 for SQL2000
Prostitutes diary
Ashlynn Video1
White deer villiage
delv published in(发表于) 2014/1/10 6:31:30 Edit(编辑)
如何充分利用ASP.NET,2.0预编译_[Asp.Net教程]

如何充分利用ASP.NET,2.0预编译_[Asp.Net教程]

如何充分利用ASP.NET 2.0预编译_[Asp.Net教程]

 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应用程序,以避免(像一般编译一样)首次调用应用程序的延迟。此外,它还提供了一定的安全性,因为程序的源代码在结果中是不可见的,所有的内容文件都可以被隐藏。


作者: 来源:SINA BLOG





添加到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.