ASP.Net Page Life Cycle

Hello friends,

I know this information is easily available over the net. However I just thought to share it on my blog just for quick reference. Here I have written ASP.Net page life cycle events in an order of there execution with one liner explanation.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
public partial class Home : System.Web.UI.Page
    {
        protected void Page_PreInit(object sender, EventArgs e)
        {
            //Initialize themes, master page, profile properties
            //check IsPostBack, cross-page postbacks
            System.Diagnostics.Trace.WriteLine("Inside Page_PreInit");
        }

        protected void Page_Init(object sender, EventArgs e)
        {
            //Initialize or read control properties here
            System.Diagnostics.Trace.WriteLine("Inside Page_Init");
        }

        protected void Page_InitComplete(object sender, EventArgs e)
        {
            // Changes to ViewState that you want in next postback
            System.Diagnostics.Trace.WriteLine("Inside Page_InitComplete");
        }

        protected void Page_PreLoad(object sender, EventArgs e)
        {
            //Raised when page loads ViewState for itself and controls
            System.Diagnostics.Trace.WriteLine("Inside Page_PreLoad");
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            //Set control properties, initiate Database connections
            System.Diagnostics.Trace.WriteLine("Inside Page_Load");
        }

        protected void Page_LoadComplete(object sender, EventArgs e)
        {
            //tasks that require that all other controls on the page be loaded.
            System.Diagnostics.Trace.WriteLine("Inside Page_LoadComplete");
        }

        protected void Page_Prerender(object sender, EventArgs e)
        {
            //to make final changes to the contents of the page or its
            //controls before the rendering stage begins
            System.Diagnostics.Trace.WriteLine("Inside Page_Prerender");
        }
        protected void Page_PrerenderComplete(object sender, EventArgs e)
        {
            //Raised after each data bound control whose 
            //DataSourceID property is set calls its DataBind method.
            System.Diagnostics.Trace.WriteLine("Inside Page_PrerenderComplete");
        }
        protected void Page_SaveStateComplete(object sender, EventArgs e)
        {
            //Raised after view state and control state have been saved for the page and for all controls.
            //Any changes to the page or controls at this point affect rendering, but the changes will not be retrieved on the next postback
            System.Diagnostics.Trace.WriteLine("Inside Page_SaveStateComplete");
        }
        protected void Page_Render(object sender, EventArgs e)
        {
            //This is not an event; instead, at this stage of processing, the Page object calls this method on each control
            System.Diagnostics.Trace.WriteLine("Inside Page_Render");
        }
        protected void Page_Unload(object sender, EventArgs e)
        {
            //Raised for each control and then for the page.
            //During the unload stage, the page and its controls have been rendered, so you cannot make further changes to the response stream. 
            //If you attempt to call a method such as the Response.Write method, the page will throw an exception.
            System.Diagnostics.Trace.WriteLine("Inside Page_Unload");
            //Response.Write("This is not allowed");
        }
    }

Authentication in ASP.Net


Authentication is a mechanism which detects if a user trying to access the site or resource is a valid user or not. There are lot of misinterpretations about terms Authentication and Authorization.

Authorization on the other hand is a process followed by successful authentication, which checks if the current user is having rights to access the resource.

Different modes of Authentication in ASP.Net
- None
- Windows
- Forms
- Passport

Where to set Authentication mode ?
The authentication mode can be set in a web.config file of your web application. In web.config file, under System.Web section,
we can specify Authentication mode as,

<System.Web>
    <authentication mode="Windows" />
</System.Web>

Authentications Modes in details

None - This is the most flexible mode provided for Authentication. You can use this setting if you don't want
to authenticate any user at all or you want to implement your own authentication mechanism. Custom authentication can be implemented using an ISAPI filters from IIS.

Passport - It is a central mechanism provided by Microsoft which allows single sign on with multiple sites mechanism. All member sites using passport mechanism are provided with a key which is used in single sign on mechanism across multiple domains.

Windows - It relies upon IIS for authenticating a user. With this settings, windows accounts are checked for authentication against user trying to log into the system. When IIS authenticates a user, it creates a security token and passes it to ASP.Net. ASP.Net then creates an WindowsPrincipal object and attaches it to the application context.

Forms - This mechanism allows your application to collect user credentials right from HTML forms. When a user submits the login credentials,
application code checks for user authentication. If it succeeds, it issues a cookie for the respective client. This cookies is then used for
subsequent requests from the respective client. If the cookie is not found, user is redirected to a log on page.

Labels

.net .Net Instrumentation logging .net localization Agile amazon amazon elasticache amazon services AppDomain Application Domain architecture asp ASP.Net authentication authentication mechanisms Byte order mark c# cache canvas app cdata certifications class classic mode cloud cloud computing cluster code-behind Combobox compilation Configuration providers configurations connection connectionString constructors control controls contructor CSV CTS .net types conversion database DataGridView DataSource DataTable DataType DBML delegates design pattern dispose double encoding Entity framework Events exception handling expiry fault contracts fault exceptions function pointers functions generics help HostingEnvironmentException IIS inner join instance management integrated mode javascript join left outer join LINQ LINQ join LINQ to SQL memory leak methods microsoft model driven app modes in IIS MSIL multiple catch blocks no primary key Nullable Osmos Osmotic Osmotic communication Osmotic communications page events page life cycle partial class PMI powerapps preserve precision points private contructor ProcessExit Project management properties property protect connectionString providerName providers query regular expression repository Responsive Web Design return type run-time RWD Saas self join session session expiry sessions singelton singleton pattern software as a service source control system SQLMetal string time management time-boxing toolstrip ToolStrip controls ToolStripControlHost tortoise SVN ToString() try catch finally update wcf web application web design web site web.config where-clause xml

Pages