Cookies is a small piece of information stored on the client machine. This file is located on client machines "C:\Document and Settings\Currently_Login user\Cookie" path. It is used to store user preference information like Username, Password, City, PhoneNo, etc, on client machines. We need to import a namespace called System.Web.HttpCookie before we use cookie.
Type of Cookies
- Persist Cookie - A cookie that doesn't have expired time is called a Persist Cookie
- Non-Persist Cookie - A cookie which has expired time is called a Non-Persist Cookie
How to create a cookie?
It is really easy to create a cookie in asp.net with the help of a Response object or HttpCookie.
Example 1
HttpCookie userInfo = new HttpCookie("userInfo");
userInfo["UserName"] = "Annathurai";
userInfo["UserColor"] = "Black";
userInfo.Expires.Add(new TimeSpan(0, 1, 0));
Response.Cookies.Add(userInfo);
Example 2
Response.Cookies["userName"].Value = "Annathurai";
Response.Cookies["userColor"].Value = "Black";
How to retrieve from cookie?
It is an easy way to retrieve cookie value from cookies with the help of Request object.
Example 1
string User_Name = string.Empty;
string User_Color = string.Empty;
User_Name = Request.Cookies["userName"].Value;
User_Color = Request.Cookies["userColor"].Value;
Example 2
string User_name = string.Empty;
string User_color = string.Empty;
HttpCookie reqCookies = Request.Cookies["userInfo"];
if (reqCookies != null)
{
User_name = reqCookies["UserName"].ToString();
User_color = reqCookies["UserColor"].ToString();
}
When we make a request from the client to web server, the web server processes the request and gives a lot of information with big pockets, which will have Header information, Metadata, cookies, etc., Then respose object can do all the things with browser.
Cookie's common property
- Domain => This is used to associate cookies to domain.
- Secure => We can enable secure cookie to set true(HTTPs).
- Value => We can manipulate individual cookie.
- Values => We can manipulate cookies with key/value pair.
- Expires => This is used to set expire date for the cookies.
Advantages of Cookie
- It has clear text so the user can read it.
- We can store user preference information on the client machine.
- It is an easy way to maintain.
- Fast accessing.
Disadvantages of Cookie
- If the user clears the cookie information, we can't get it back.
- No security.
- Each request will have cookie information with page.
How to clear the cookie information?
- We can clear cookie information from client machine on cookie folder
- To set expires to cookie object
userInfo.Expires = DateTime.Now.AddHours(1);
It will clear the cookie within one hour.