쿠키 읽기
브라우저는 서버에 요청할 때 해당 서버에 대한 쿠키를 요청과 함께 보냄
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 |