ASP.NET

Architecture

Internet Information Services
IIS is Microsoft's web server for their Windows operating system.
ASP.NET Server
This is a handler for ASP requests, which integrates into the IIS pipeline.
Web Forms
A typical ASP.NET web page uses Web Form components, and is compiled by the server into an HTTP handler for the URL. Web Form components are invoked with an XML-compliant syntax. They maintain their state between postbacks, and are exposed to the code-behind as objects.
Code Behind
The declarative web form consists of HTML and component markup. It may be associated with a code-behind file, a partial .NET class which is merged with the form during compilation. The code-behind processes component events, and performs any other application logic.

State

There are two primary mechanisms for ASP.NET pages to store state.

ViewState
The ViewState is used by controls to persist any properties which have changed since the control was created. It can be disabled for the whole control, but not by specific properties. In ASP.NET 2, controls will emit essential data even when viewstate is disabled. ViewState is serialised to the page as a hidden input control.
SessionState
The server holds a dictionary of objects in memory for each session, called the SessionState. This is the usual way for application logic to persist data across requests.

Source Files

Default.aspx
This is the web form markup, a mixture of HTML and ASP.NET controls.
Default.aspx.cs
This is the code-behind file, containing all the application logic.

Deployment

All the code behind files are compiled into a .NET assembly. The markup pages are then uploaded to the web server, while the assembly goes into a /bin directory.

Tools

The default IDE for ASP.NET is Microsoft's Visual Studio. Visual Studio creates all the files and boilerplate, and has a WYSIWYG designer for the markup. The text editor provides autocompletion and formatting for markup and code. One menu option will compile and deploy the site.