WestDiscGolf
WestDiscGolf

Reputation: 4108

Web site projects vs Web Application - which is better?

I've just started using a cms (N2) which has a template basic implementation using a web site project template in vs2008. I've noticed that when compiling it it takes a lot longer than using a web application project which I am more use to.

My questions are:

  1. Why does it seem to take a lot longer to compile?
  2. Which is better to use?
  3. Should I convert it into being a web application?

I apologise if this is a duplicate but I couldn't find a similar question.

Cheers

Upvotes: 9

Views: 1492

Answers (3)

KN.
KN.

Reputation: 11

My preference is to use Website project over web application. I mainly rely on "View in Browser" to execute the page during development and not f5. I can leave the browser window open and modify code without closing the runtime browser. Usually if I need to debug I attach the IDE to the appropriate process. In my experience it much more efficient to do it this way instead of compile and restarting the app everytime I have to compile or make changes. This is magnified even more if the app has a login page. Need for logging in is avoided everytime F5 is pressed - granted there are ways to set it up. But preference is not to.

Upvotes: 1

cgreeno
cgreeno

Reputation: 32371

The Major differences are:

In a Web Application project everything is pre-compiled all the codebehind pages will be compiled into a .dll ---- In a Web Site Project nothing in the project is pre-compiled, the compiler will compile everything to ensure it is valid but none of the compiled pages are uploaded. When a user first attempts to access the site each page is compiled into its own dll. This means in a Web Site Project you are able to upload a single codebehind file.

Namespaces - In a Web Application project namespaces are created by default in a Web Site Project they are not.

Project files - A Website Project does not have a "cproj" file a Web Application project does.

Converting to a Web Application project can be more difficult then you think especially if you rely heavily the appcode folder.

I personally prefer a Web Application projects I find them easier to use and less annoying to deploy. I would personally only use web site project on something very small and simple.

Extra reading from MSDN

Upvotes: 10

IrishChieftain
IrishChieftain

Reputation: 15243

In addition to the info provided by Chris, you should also note that for Web Application Projects, Profiles are not available out of the box:

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

There is a workaround available here: http://code.msdn.microsoft.com/WebProfileBuilder

Basically, the Web Application Project does not have the Profile object automatically added to each page as with the Web Site project, so we cannot get strongly-typed programmatic access to the profile properties defined in our web.config file.

Anthony :-)

Upvotes: 1

Related Questions