In ASP.NET, you take full advantage of all CLR features, such as type safety, inheritance, code access security, language interoperability.
At execution time, ASP.NET pages are represented by an instance of a class that descends from the Page class.
The Page class is the ending point of a pipeline of modules that process any HTTP request.
Only elements in an ASP.NET page marked with the runat attribute can be programmatically accessed when the page is executed on the server.
Page elements devoid of the runat attribute are not processed on the server and emitted verbatim.
The runat attribute applies to virtually any possible tags you can use in an ASP.NET page, including custom and unknown tags.
The process model is the sequence of operations needed to process a request. The process model is determined by IIS and determines which worker process takes care of running ASP.NET applications and under which account.
ASP.NET applications run under a weak account.
The behavior of ASP.NET applications can be configured through a bunch of configuration files.
The ASP.NET provider model is an infrastructural feature that improves an application's architecture by enabling developers and architects to operate under the hood of some system components.
The ASP.NET provider model brings you two major benefits: extensive customization of the application's run-time environment and code reusability.