前言:
最近学习了与web编程相关的很多的基础知识,接下将是一系列的基础知识的对比学习,今天先简单的了解一下web应用程序与web网站的区别!
1、编译方式不一样
这个是我认为二者之间最大的区别了,首先,web应用程序中的所有的文件都是 相互独立 的,就是说我的一个文件的改变,或者发生错误不会影响其它的界面!但是web网站就不一样了,它其中的一个文件里代码有错误,那么 整个系统就会弹出错误!产生这样的现象就是因为他们之间的编译方式不一样,web网站中是你用哪个文件,我们的系统就去编译哪个文件!而web应用程序就是说我们无论去调用哪个文件,我们的系统会将所有的文件都进行编译,这样,按一个文件都会被编译,如果有错,那么一定会被发现!所以我们在做大型软件的时候我们一般选择的都是web应用程序,做小型的网站的时候,我们一般用web网站!
2、修改代码时候文件更新的不同
网站中每个页面(aspx,ashx)都生成对应的程序集,名称是随机的,当文件建立保存以后,请求会自动保存一下。如果你对文件中的代码改动了,Assembly.GetExecutingAssembly().Location
会重新编译生成一个新的程序集,如果没有改动,则不会生成新的.(在Web网站中的一个一般处理程序中获取当前一般处理程序文件所生成的dll文件.如果一般处理程序中的代码改变了那么重新生成,没有变化则不会重新生成。
)
所在Web应用程序中修改了代码以后一定要重新生成,不然修改后的代码不会生成到程序集中,程序集中可能还是旧的内容
3、web网站没有命名空间
为什么网站不需要命名空间?命名空间就是为了区分类同名的情况,而网站一个文件就是一个独立的程序,所以不会出现类重名的情况.
4、web网站中的App_Code
现在都知道了网站中每个文件都是独立的程序,互不影响,那么如果要是这样我们的代码复用极大的不便了,因为像SqlHelper这种东西就不能公共调用了,连接数据库调用数据库岂不是麻烦死!这个就不用担心了,因为微软为网站提供了一个App_Code,我们可以将那些公用的代码都放在App_Code中就解决了问题!
后记:
那么最后就总结一句话:大网站比较适合用WebApplication(应用程序)项目,小网站比较适合用WebSite(网站)项目!有人会问记住最后一句话不就的了,我想说我们要知其所以然!