网站项目与Web应用程序 - 哪个更好?

时间:2009-02-11 22:09:00

标签: visual-studio-2008 web web-applications n2

我刚开始使用cms(N2),它使用vs2008中的网站项目模板进行模板基本实现。我注意到,在编译时,它比使用我更常用的Web应用程序项目需要更长的时间。

我的问题是:

  1. 为什么编译需要花费更长的时间?
  2. 哪个更好用?
  3. 我应该将其转换为网络应用程序吗?
  4. 如果这是重复的话我很抱歉,但我找不到类似的问题。

    干杯

3 个答案:

答案 0 :(得分:10)

主要差异是:

Web应用程序项目中,所有代码隐藏页面都会被预编译成.dll ----在 Web站点项目中没有任何内容项目是预编译的,编译器将编译所有内容以确保它是有效的,但没有上传任何已编译的页面。当用户首次尝试访问该站点时,每个页面都被编译到其自己的dll中。这意味着在网站项目中,您可以上传单个代码隐藏文件。

命名空间 - 在 Web应用程序项目中,默认情况下在网站项目中创建命名空间。

项目文件 - 网站项目没有 Web应用程序项目的“cproj”文件。

Converting to a Web Application project可能比你想的更困难,特别是如果你非常依赖appcode文件夹。

我个人更喜欢 Web应用程序项目我觉得它们更容易使用,而且不那么讨厌部署。我个人只会在非常小而简单的事情上使用网站项目。

额外阅读MSDN

答案 1 :(得分:1)

除了Chris提供的信息之外,您还应注意,对于Web应用程序项目,配置文件不是开箱即用的:

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

这里有一个解决方法: http://code.msdn.microsoft.com/WebProfileBuilder

基本上,Web应用程序项目没有像Web站点项目那样自动添加到每个页面的Profile对象,因此我们无法获得对web.config文件中定义的配置文件属性的强类型编程访问。

安东尼: - )

答案 2 :(得分:1)

我的偏好是使用网站项目而不是网络应用程序。我主要依靠“在浏览器中查看”来在开发过程中执行页面而不是f5。我可以打开浏览器窗口并修改代码,而无需关闭运行时浏览器。通常,如果我需要调试,我将IDE附加到适当的进程。根据我的经验,这样做更有效,而不是每次编译或重新启动时编译和重新启动应用程序。如果应用程序具有登录页面,则会更加放大。每次按下F5时都会避免登录 - 授予了设置方法。但偏好不是。