.net - 在 VS2008 中,网站和 Web 应用程序有什么区别?

标签 .net

在 VS2008 中,网站和 Web 应用程序有什么区别?
使用任何一种都有好处吗?

最佳答案

在谈论利弊之前,您必须了解其工作原理的根本区别。

网站项目使用即时编译方法,它会在实际访问您的页面时动态编译您的 aspx 和相关文件。然后将编译后的程序集放置在具有随机生成的 dll 名称的 bin 文件夹中。

另一方面,Web 应用程序在您开发项目时将页面编译为一个命名的 dll。如果没有这种编译,网站甚至不会部署到您的服务器中(因为没有自动编译机制)

所以利弊:

  • 网站项目的源是动态的,你不需要通过你的开发机器来修改一些东西(虽然有风险),一切都是及时编译的
  • 虽然这很方便,但由于涉及 JIT 编译,它也有轻微的性能损失。
  • 由于调度请求的设计,有些项目不会在网站项目上运行,例如基于 ASP.NET MVC 和 MonoRail 的项目。
  • 您几乎没有可能在库级别对您的网站项目进行 TDD,因为它没有被编译。但是,您可以 TDD 使用 Web 应用程序编译您的单个 DLL。
  • 我忘记了这是如何触发的,但 VS2005 可能需要很长时间来编译更大的网站项目,因为动态特性涉及对 aspx 文件的额外语法检查。 Web 应用程序不会遇到此问题。

  • 我相信还有更多的东西涉及,但我认为这些是一些更大的东西。

    关于.net - 在 VS2008 中,网站和 Web 应用程序有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322951/

    相关文章:

    .net - 了解 ONION 和 N 层架构之间的区别

    c# - 这个用于连接和声明事件的 C# 代码的 VB.NET 等价物是什么?

    c# - 在 C# 中以特定模式递增字符

    .net - 关闭另一个表单后刷新列表框

    c# - 如何打开带附件的默认电子邮件客户端

    c# - 用 LINQ 合并两个 IEnumerable

    c# - 在 2 个已知值之间找到一个字符串

    c# - HttpWebRequest 长 URI 解决方法?

    javascript - 将参数从链接按钮传递给 JavaScript

    .net - 如何确定 DockPanel 中包含的所有项目的高度