Microsoft .NET Web Programming: Web Sites versus Web Applications
Posted
by
SAMIR BHOGAYTA
on Samir ASP.NET with C# Technology
See other posts from Samir ASP.NET with C# Technology
or by SAMIR BHOGAYTA
Published on 2012-03-02T18:57:00.002-08:00
Indexed on
2012/03/18
18:18 UTC
Read the original article
Hit count: 1197
The Web Site is a file/folder based Project structure. It is designed such that pages are not compiled until they are requested ("on demand"). The advantages to the Web Site are:
1) It is designed to accommodate non-.NET Applications
2) Deployment is as simple as copying files to the target server
3) Any portion of the Web Site can be updated without requiring recompilation of the entire Site.
The Web Application is a .dll-based Project structure. ASP.NET pages and supporting files are compiled into assemblies that are then deployed to the target server. Advantages of the Web Application are:
1) Precompiled files do not expose code to an attacker
2) Precompiled files run faster because they are binary data (the Microsoft Intermediate Language, or MSIL) executed by the CLR (Common Language Runtime)
3) References, assemblies, and other project dependencies are built in to the compiled site and automatically managed. They do not need to be manually deployed and/or registered in the Global Assembly Cache: deployment does this for you
If you are planning on using automated build and deployment, such as the Team Foundation Server Team Build engine, you will need to have your code in the form of a Web Application. If you have a Web Site, it will not properly compile as a Web Application would. However, all is not lost: it is possible to work around the issue by adding a Web Deployment Project to your Solution and then:
a) configuring the Web Deployment Project to precompile your code; and
b) configuring your Team Build definition to use the Web Deployment Project as its source for compilation.
https://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032380764&CountryCode=US
© Samir ASP.NET with C# Technology or respective owner