ASP.Net Web Site Project vs. Web Application Project
本问题已经有最佳答案,请猛点这里访问。
我试图说服我的同事从一个网站项目切换到一个Web应用程序项目,因为我想要使用项目文件。然而,我无法驳斥以下观点:
- 网站项目允许将每个页面编译为单个dll。他们的论点是,这样可以很容易地修复发布后发现的错误。这与Web应用程序项目如何将后面的所有代码编译为单个DLL形成对比。
- 更新单个网页的dll与更新整个网站的dll有本质区别吗?
- 在Web应用程序项目中,是否有某种方法可以将每个页面的代码隐藏到单独的dll中?
- 是否有一些禁止(性能,内存?)把每个页面的代码编译成我们不知道的单独的动态链接库的成本?
- 为什么这个功能(?)要编译每个页面以分离网站项目中的DLL,而不是Web应用程序项目?
我以前更喜欢Web应用程序,而不是网站项目。然而,我开始意识到,如果你有一个需要大量小更新的站点,那么使用一个Web项目就简单了。
当您只需更改一个代码隐藏文件,而不必重新构建整个应用程序并进行部署时,这将使部署的压力减少一百万倍。
但是,如果您使用的是正确的版本控制系统、分支、自动构建、正确的QA,那么任何一种方法都是可行的。
但是的,网站项目更容易"更新"。
我想说,如果每个人都需要在发布后灵活地部署bug修复程序,而不重新发布整个站点,那么他们是对的:您需要有一个用于这种动态编译的Web项目。或者更好的测试过程;
个人而言,我更喜欢一个Web应用程序,因为只有一个DLL创建,这意味着更少的混乱和"奇怪的错误"与DLL有不同的名称等。如果你有一个大的网站,你真的应该使用一个Web应用程序。我记得一年前做过这个决定,我从来没有回头(我选择了Web应用程序):)