可能重复:
ASP.NET: Web Site or Web Application?
我注意到,当你打开Visual Studio2008并选择“New Project”->“ASP.NET Web Application”而不是“New Web Site”->“ASP.NET Web Site”时,得到的结果显然是不同的。例如,如果你选择“项目”,那么你可以编译成.dll,每个页面都会得到一个*.aspx.designer.cs代码隐藏文件。
1)为什么我们会有这两种不同的项目类型?
2)你更喜欢哪一个?
3)为什么我要选择一个而不是其他?
4) *.aspx.designer.cs文件是怎么回事?
发布于 2009-02-26 13:25:47
1)“网站”模型是在ASP.NET 2.0中引入的,“web应用”模型是原始.net框架的项目类型。它们都有不同的用途(见下文)。
2)它取决于上下文。一个很好的例子是,如果你在销售一个软件产品,你可能希望使用一个“web应用”项目,因为它自然地将自己借给干净编译的代码。
3)见上,个人喜好,维护特征。网站允许你做的一件有趣的事情会给你带来很多麻烦,那就是在网站运行时对记事本中的代码隐藏(通常是*.cs或*.vb)文件进行任意更改。
4) designer.cs文件用于存储自动生成的代码。“此代码由工具生成。”
发布于 2009-02-26 13:28:14
他们有不同的目的。
网站的内容可能会随着时间的推移而发生变化,即页面本身也会发生变化。没有实际的项目文件,站点只是作为一组文件进行部署。
应用程序是一个网站,其中的内容只是应用程序,动态部分将主要是持久存储,如数据库。它将具有更复杂的逻辑,因为它可能表示一组用于数据输入的表单,以及一种检查内容的方法。它有一个项目文件,可以更严格地控制其配置,并将其代码部署为已编译的dll。
发布于 2009-02-26 13:39:11
我不会重复2的定义,因为刚才已经回答了。
那么,为什么要使用一个而不是另一个呢?
Web站点允许您将其视为PHP或经典ASP站点,在这些站点中,您可以进行内联更改并立即生效。
优点
server
文件夹即可
缺点
Web应用程序让您可以像对待桌面应用程序一样对待它--有一个可部署的应用程序在您的机器上编译。
优点
缺点
与从开发机器上复制文件夹相比,
*如果您在构建选项中启用此选项,则仅对aspx/html文件进行语法检查。也可以在服务器上编辑这些文件,除非它们编译到您的项目中。
https://stackoverflow.com/questions/590501
复制相似问题