ASP.Net 网站项目与 Web 应用程序项目 [重复]
Posted
技术标签:
【中文标题】ASP.Net 网站项目与 Web 应用程序项目 [重复]【英文标题】:ASP.Net Web Site Project vs. Web Application Project [duplicate] 【发布时间】:2011-02-03 00:21:25 【问题描述】:我试图说服我的同事从网站项目切换到 Web 应用程序项目,因为我想要使用项目文件。但是我不能散布这个论点反对:
网站项目允许将每个页面编译成单个 dll。他们的论点是,这可以轻松修复发布后发现的错误。这与 Web 应用程序项目将所有代码编译成单个 dll 的方式形成鲜明对比。 更新单个页面的 dll 与更新整个网站的 dll 是否有本质区别? 有没有办法将每个页面的代码编译成 Web 应用程序项目中的单独 dll? 将每个页面的代码编译成我们不知道的单独的 dll 是否有一些令人望而却步的(性能、内存?)成本? 为什么在网站项目而不是 Web 应用项目中编译每个页面以分隔 dll 的功能(?)?【问题讨论】:
我的发现是:网站被不使用单元测试或没有设置适当开发环境的人使用,因为他们需要能力在给定时间“修复”某些页面。 Web 应用程序是拥有真实环境并使用测试/CI 的智能开发人员的首选解决方案。 【参考方案1】:我想说,如果那里的每个人都需要灵活地在发布后部署错误修复而不重新发布整个站点,那么他们是对的:您需要有一个用于这种动态编译的 Web 项目。那个或更好的测试过程;)
我个人更喜欢 Web 应用程序,因为只创建了一个 dll,这意味着更少的混乱和更少的“奇怪错误”的范围,dll 具有不同的名称等。如果您有一个大型网站,您真的应该使用网络应用。我记得一年前做出这个决定,我从未回头(我选择了 Web 应用程序):)
【讨论】:
【参考方案2】:我曾经更喜欢 Web 应用程序而不是网站项目。但是,我开始意识到,如果您的网站需要大量的小更新,那么使用 Web 项目会更容易。
当您只需更改一个代码隐藏文件,而不必重新构建整个应用程序并进行部署时 - 它会使部署的压力减轻一百万倍。
但是,如果您使用适当的版本控制系统、分支、自动构建、适当的 QA,那么任何一种方式都行得通。
但是,网站项目更容易“更新”。
【讨论】:
以上是关于ASP.Net 网站项目与 Web 应用程序项目 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
详细利用VS2019创建Web项目,并发送到IIS,以及IIS与ASP.NET配置
ASP.NET 5 ,想要将实体框架从 Web 项目中分离出来