State management in ASP.net

Post on 27-Jan-2015

107 views 1 download

Tags:

description

State management in ASP.net

Transcript of State management in ASP.net

Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring PartnerBaabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd

Week Target Achieved

1 30 27

2 30 28

3

Typing Speed

Jobs Applied# Company Designation Applied Date Current Status

1

2

3

State Management

Name@gmail.comwww.facebook.com/usernametwitter.com/usernamein.linkedin.com/in/profilenamePhonenumber

Why is state necessary?

• The vast majority of Internet applications operate using the HTTP protocol.

• HTTP is state less.– This means that each request for a page is treated

as a new request by the server.

Introduction to State Management

• Remember that ASP.NET is stateless– The Web server does not keep track of past client

requests• Different technologies handle the issue of

statement management differently– ASP.NET is quite unique in this regard

Types of State Management

• ASP.NET offers two categories of state management– Pure client-side statement management– Server-side state management

Client State Management

• View state• Control state• Hidden fields• Cookies• Query strings

State Management (ViewState)

• ASP.NET preserves the state of the page’s controls between post backs by packaging and encoding it within a hidden html field.

• This view state feature can also be used programmatically to preserve additional information between post backs for the same page

Eg :- ViewState["RequestCount"] = count;int count = (int)ViewState["RequestCount"];

Advantages & Disadvantage of View State

• It consumes no server memory.• It is more hidden than Query String and Hidden

Fields• Its possible to encrypt View State information.

Disadvantage :-– It increases the size of the page.

State Management (ControlState)

• The ControlState property allows you to persist information as like the view state.

– The ControlState data is stored in hidden fields.

Control State Application

• If we create a custom control that requires view state to work properly.

• We should use control state to ensure other developers don’t break your control by disabling view state.

State Management (Hidden Fields)

• Use the HiddenField control to store persisted data.

• The data is stored in the Value property

• It’s simple and requires no server resources

State Management (Query Strings)

• A query string can be used to submit data back to the same page or to another page through the URL.

Eg :-string url = "productPage.aspx?id=" + id;Response.Redirect(url);productPage.aspx int id = Convert.ToInt32(Request["id“]);

Disadvantages of Query String

• Not secured (its visible completely in the address bar to the users)

• The maximum allowable length of a query string varies from browser to browser(IE only allows only 2k of url)

State Management (Cookies)

• Cookies are a client-side approach for persisting state information.

• These pairs accompany both server requests and responses within the HTTP header

• Eg:-HttpCookie cookie = new HttpCookie("Name",txtName.Text);// Set expiry date to 1 day, 12 hours from nowcookie.Expires = DateTime.Now + new TimeSpan(1, 12, 0, 0);Response.Cookies.Add(cookie);

Cookie Limitations• While simple, cookies have disadvantages

• A cookie can only be 4096 bytes in size

• Most browsers restrict the total number of cookies per site

• Users can refuse to accept cookies so don’t try to use them to store critical information

Server State Management

• Application state• Session state

Session state

• Session state is a server-based state mechanism that allows you to store data in a dictionary-style collection.

• It is scoped to the current browser session.

• That is, each user or browser session has a different session state.

Example

• session[“uname”]=txt_uname.text;String uname=session[“uname”].Tostring();

Application state

• Application state is a server-stored state mechanism that allows you to store global data in a dictionary-style collection that is accessible from all pages in the Web application.

Application state

• Thus, application state is ideal for storing relatively small, frequently used sets of data that do not change from user-to-user or request to request.

• Eg :-Application["SiteRequestCount"] = 0;int count = (int)Application["SiteRequestCount";

If this presentation helped you, please visit our page facebook.com/baabtra and like it.

Thanks in advance.

www.baabtra.com | www.massbaab.com |www.baabte.com

Contact Us

Emarald Mall (Big Bazar Building)Mavoor Road, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

NC Complex, Near Bus StandMukkam, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550

Start up VillageEranakulam,Kerala, India.

Email: info@baabtra.com