您的位置:首页 > 编程语言 > ASP

asp.net 2.0编译模型

2008-06-02 16:22 351 查看
今天看到一个同事在“发布”自己做的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发布,那末在第一次访问的时候会比较慢,因为要编译请求的页面; 而后者则避免了这种“痛苦”;

不管怎么说,我们在发布网站或是应用程序的时候,当然还是以“发布网站”形式方式为好.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: