云南数据恢复
云南数据恢复24小时服务热线
云南昆明数据恢复中心
服务项目
   RAID数据恢复
RAID0 、RAID1、RAID5、RAID6、RAID0+1 、RAID5+0、RAID1+0、NAS、SAN 、JBOD等的数据恢复
   硬盘数据恢复
硬盘电路板故障:电路板烧毁、击穿、断针;硬盘固件区损坏;硬盘有严重坏道;硬盘读盘慢等故障的数据恢复
   开盘数据恢复
硬盘异响、磁头老化、电机停转、内密电路击穿、盘片轻微划伤、硬盘加、二次开盘、SCIC开盘等故障的数据恢复。
 硬盘逻辑故障数据恢复
误删除、误格式化、误克隆、重装系统覆盖、分区表丢失、误分区、PQ转换分区出错、中病毒、黑客攻击等数据恢复
   数据库修复
ACCESS、FOXPRO、SQL SERVER、 ORACLE、MYSQL、DB2、NFORMIX、 SYBASE等数据库丢失的恢复
   Email邮件修复
OUTLOOK、OUTLOOK EXPRESS、 FOXMAIL、LOTUS NOTES等邮件 系统得数据恢复
   文档修复
Word、Excel、PowerPoint等OFFICE文档修复及各种格式的文件不能正常使用的数据修复
   存储介质恢复
U盘、光盘、软盘、MO、MP3、CF、SD、xD、MMC、SM、SMC、记忆棒、录音笔、磁带、微硬盘等
联系我们
  
24小时服务热线:13187870011
您现在的位置: 首页>新闻系统>相关文章>编程相关文章>正文

巧用ASP.NET预编译Web应用程序规避调用延迟

  • 编辑:
  • 2012年11月19日
  • 来源:
人参与
      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目录下;目标目录下不

|<< << < 1 2 > >> >>|
相关文章

 版权所有:Copyright @ 2011-2012 All rights reserved 滇ICP备16006347号 昆明北亚科技有限公司
 商务部地址:昆明市五华区圆通北路127号佰腾数码广场B座(云大晟苑)14楼1411室
  研发部地址:昆明市五华区一二一大街182号云南大学鼎鑫公寓3栋2层B-2室(第四食堂后)
       联系电话:0871-66378803,13187870011
    Email:117361778@qq.com
传真:0871-65732192