// 단일쿠키생성
// 단일 쿠키의 경우에는 다음과 같이 값을 바로 설정하는 것도 가능
// HttpCookie MyCookie = new HttpCookie("접속일자", DateTime.Now.ToString());
HttpCookie 사용자쿠키 = new HttpCookie("접속일자");
사용자쿠키.value = DateTime.Now.ToString();
Response.Cookies.Add(사용자쿠키);
// 단일쿠키읽기
if (Request.Cookies["접속일자"] != null)
{
HttpCookie 사용자쿠키 = Server.HtmlEncode(Request.Cookies["사용자"]);
Response.Write(사용자쿠키.value);
}
//*/
//*
// 다중쿠키생성
// 사용자 정보를 저장하는 쿠키를 생성한다.
HttpCookie 사용자쿠키 = new HttpCookie("사용자");
사용자쿠키["아이디"] = "nest";
사용자쿠키["이름"] = "김성국";
Response.Cookies.Add(사용자쿠키);
// 다중쿠키읽기
if (Request.Cookies["사용자"] != null)
{
HttpCookie 사용자쿠키 = Request.Cookies["사용자"];
Response.Write(Server.HtmlEncode(사용자쿠키["아이디"]));
Response.Write(Server.HtmlEncode(사용자쿠키["이름"]));
}
//*/
//Server.HtmlEncode()을 사용하는것은 쿠키에 악의적인 코드를 넣은것을 방지하기 위함으로
//필수적인 것은 아니지만 사용하는 것이 좋습니다.
// --------------------------------------------------------
// 참고로 아래와 같은 방법도 가능합니다.
// 제일 간단하죠 하지만 왠지... C# 코딩같이는 안보입니다.
// --------------------------------------------------------
Response.Write("단일쿠키사용예2<br>");
Response.Cookies["접속일자"].Value = DateTime.Now.ToString();
Response.Write(Request.Cookies["접속일자"] + "<br>");
Response.Write(Request.Cookies["접속일자"].Value + "<br>");
Response.Write("다중쿠키사용예2<br>");
Response.Cookies["사용자정보"]["사용자이름"] = "김성국";
Response.Cookies["사용자정보"]["접속일자"] = DateTime.Now.ToString();
Response.Write(Request.Cookies["사용자정보"]["사용자이름"] + "<br>");
Response.Write(Request.Cookies["사용자정보"]["접속일자"] + "<br>");
// 단일쿠키와 다중쿠키를 읽을때 약간 방식이 틀립니다.
// 단일쿠키일때는 .value를 통해서 읽어야 하고
// 다중쿠키일때는 .value가 참조되지 않습니다.
// 만일 단일쿠키를 .value참조하지 않고 출력해보면
// Response.Write(Request.Cookies["접속일자"] + "<br>");
// System.Web.HttpCookie <== 이렇게 찍어줍니다. ㅠㅠ
// 값이 없는 쿠키를 참조하고자하는 경우 아래 에러 발생
// 따라서 if (Request.Cookies["사용자"] != null) 와 같이 반드시 null 체크를 하셔야 함
// Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
이런 주석사용법도 좋습니다.
ASP.NET 쪽에도 어떤분이 올려 놓은거 보았는데
여기는 없는거 같아서 짤막하게 적어봅니다.
//*
// 주석
// 주석
// 다중쿠키읽기
if (조건)
{
처리문
}
//*/
'.net' 카테고리의 다른 글
CompareValidator 컨트롤 (0) | 2007.05.03 |
---|---|
ASP.NET의 정규식 (0) | 2007.05.03 |
자동 가입 방지 폼 구현하기 (GDI+활용) (0) | 2007.05.03 |
부모창에서 모달(modal) 다이얼로그의 리턴값 받기 (0) | 2007.05.03 |
ASP.NET Popup Control (0) | 2007.05.03 |