Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.net: Website or web application project

Tags:

asp.net

Is there any difference between website and web application project? What if you are working on a project that is sort of hybrid of site and application? which project should you chose?

like image 999
Jack Avatar asked Dec 05 '08 16:12

Jack


People also ask

What is difference between ASP.NET project and website?

New Web Site - creates code behind pages that are compiled at the server when page is requested. New Web Project - creates pre-compiled pages into one or more assemblies (entire site even), and deployed on server.

Is ASP.NET a web application?

ASP.NET is an open-source, server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services.

What is difference website and web application?

A website provides visual and text content that the user can see and read, but not affect in any way. In the case of a web application, the user can not only read the page content but also manipulate the data on this page.

Is Google a website or webapp?

Web Apps. Web applications are websites with functionality and interactive elements. Gmail, Facebook, YouTube, Twitter, etc. are all web apps that are dynamic, and built for user engagement.


2 Answers

I'ld go the newer Web Application project (always, regardless of the size of the project).

There is nothing to lose and everything to gain with using the Web Application Project (you cannot say this about using the "website" only).

The official list of differences are here:

Use Web Application Projects when you

  1. Need to migrate large Visual Studio.NET 2003 applications
  2. Need to control names of output assemblies
  3. Need stand-alone classes to reference page and user control classes
  4. Need to build a Web application using multiple Web projects
  5. Need to add pre-build and post-build steps during compilation

Use Websites if you:

  1. Need to generate one assembly for each page.
  2. Prefer single-page code model to code-behind model.
  3. Prefer dynamic compilation and working on pages without building entire site on each page view (that is, save file and then simply refresh the page in the browser).
  4. Want to open and edit any directory as a Web project without creating a project file

@Mehrdad's link here is essential if you want to know more http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx#wapp_topic5

like image 123
Ian G Avatar answered Sep 28 '22 05:09

Ian G


As for which project to choose, I would go with the Web Application Project, regardless of size. Having all of your code behind compile down into a single DLL is a major benefit for maintenance and security on the hosting end. I know there are precompile options for web site projects, but they seemed like more trouble that it was worth for me.

I know that the IIS filters are in place to prevent users from accessing your .vb or .cs files, but it still makes me a little leery.

But more important to this is the nice fact that if you make a bunch of coding changes, or maybe add some classes and change the processing logic, the only thing you have to merge up is the compiled DLL and nothing else. Similarly, if you do a few UI changes (say change the stylesheet or position of a few controls), you don't have to worry about recompiling the application, you simply bring over the update .aspx page and you're done.

like image 35
Dillie-O Avatar answered Sep 28 '22 06:09

Dillie-O