본문 바로가기

Microsoft/ASP.NET

쿠키 읽기

쿠키 읽기

브라우저는 서버에 요청할 때 해당 서버에 대한 쿠키를 요청과 함께 보냄

If(Request.Cookies["userName"] != null)

     Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);

 

If(Request.Cookies["userName"] != null)

{

     HttpCookie aCookie = Request.Cookies["userName"];

     Label1.Text = Server.HtmlEncode(aCookie.Value);

}

 

쿠키 값을 가져오기 전에 먼저 쿠키가 있는지 확인해야 하며 쿠키가 없는 경우 NullReferenceException 예외가 발생함

HtmlEncode 메소드를 사용하면 쿠키 내용을 인코딩할 수 있음

 

* 브라우저에 따라 쿠키를 저장하는 방식이 틀리기 때문에 다른 브라우저의 쿠키를 읽지 못할 수 있음

 

쿠키에서 하위키를 가져오는 방식도 쿠키 생성과 비슷함(다차원 배열 사용)

 If(Request.Cookies["userInfo"] != null

{

     Label1.Text = Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]);

     Label2.Text = Server.HtmlEncode(Request.Cookies["userInfo"]["lastVisit"]);

}

쿠키는 데이터를 문자열(String)으로 저장하기 때문에 날짜형으로 사용하기 위해서는 다음과 같은 형변환이 필요함 

DateTime dt;

dt = DateTime.Parse(Request.Cookies["userInfo"]["lastVisit"]);

 

쿠키의 하위 키는 NameValueCollection 컬렉션으로 구성되어 있음

각 하위 값을 가져오기 위해서는 컬렉션을 가져온 후 이름별로 추출하면 됨

 If(Request.Cookies["userInfo"] != null)

{

     System.Collections.Specialized.NameValueCollection UserInfoCookieCollection;

 

     #userInfo 하위키 전체 저장

     UserInfoCookieCollection = Request.Cookies["userInfo"].Values;

     Label1.Text = Server.HtmlEncode(UserInfoCookieCollection["userName"]);

     Label2.Text = Server.HtmlEncode(UserInfoCookieCollection["lastVisit"]);

}

 

 

쿠키 만료 날짜 변경

 

쿠키 저장을 관리하기 위해 쿠키 만료 날짜와 시간을 사용하면 됨

쿠키를 읽을때 값과 이름은 읽을 수 있으나 만료 날짜와 시간은 읽을 수 없음

쿠키 만료 날짜가 문제가 되는 경우 만료 날짜를 재 설정해야함

 

쿠키를 브라우저에 보내기 전 HttpResponse 개체에 설정한 쿠키의 Expires 속성을 읽을 수 있으나 HttpRequest 개체로 다시 만료 값을 가져올 수 없음

 

'Microsoft > ASP.NET' 카테고리의 다른 글

ASP.Net Redirect  (0) 2015.11.20
ASP C# String 처리  (0) 2015.11.20
쿠키란 무엇인가? (1)  (0) 2015.11.05
Post, Get 방식의 이해  (0) 2015.10.26
PostBack  (0) 2015.10.25