asp.net 2.0编译模型

   今天看到一个同事在“发布”自己做的web应用程序时,把整个专案全部copy过去(包括所有source code),很是差异,跟她解释了半天,无果~
   按理说,这种发布方式也无可厚非,只是把source code公布出去,多少有点不太放心。
   其实在Asp.net 2.0中,它的编译方式是很独特的:默认情况下,用户在第一次请求某个页面的时候,编译器会把这个页面编译,并暂存在服务器某个文件夹中(/WINDOWS/Microsoft.NET/Framework/[version]/Temporary ASP.NET Files),以后不管谁再次请求这个页面,服务器都会直接把这个编译好的页面反馈给users。
   服务器为每个application建立一个临时folder,users在请求的时候,服务器会首先到这个位置查找有无这个page class,如果有就返回,如果没有,就重新编译,并暂存.
   当然server在建立这个page class的时候,也会把这个class和origin page建立某种联系,这个联系用来检查源文件时候有改动,如果有,自然也是要重新编译的。
 
    通常我们在发布我们的应用程序或是网站的时候,都是通过"发布网站"功能来实现。是要全部生成dll文件还是保留html页面可在发布的时候进行设置。这样发布完得到的page就是欲编译过的。

  那到底把source code直接发布和通过“发布网站”发布有什么区别呢?(除了安全因素外)
 
  从上面的叙述其实应该可以看得出来了:如果我们通过sourcecode发布,那末在第一次访问的时候会比较慢,因为要编译请求的页面; 而后者则避免了这种“痛苦”;
  
  不管怎么说,我们在发布网站或是应用程序的时候,当然还是以“发布网站”形式方式为好.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值