본문 바로가기
Programming/Silverlight

실버라이트 Cookie 사용하기

by NAMP 2011. 11. 15.




cookie

브라우저 사용중에 html 문서상에서 만들어낸 정보를 클라이언트쪽 컴퓨터에 저장해 놓는곳을 의미한다.
서버로 정보를 보내는 cgi프로그램을 보조해 주는 기능으로 많이 쓰인다.
서버로 부터 HTTP 헤더를 통해 전달받는 Set-Cookie와 클라이언트가 서버로보내는 Cookie 라는 구조로 나누어져 있다.

Set-Cookie설명
name=value cookie 이름으로 반드시 지정 되어야 하고 이름에 세미콜론(;)쉼표(,)빈칸이 들어가면 안된다.
expires=Date cookie가 종료되는 날짜를 지정한다.날짜 지정이 없으면 현재 브라우저 세션 동안에만 유효하게 된다.
날짜형식:일-월-년 시-분-초
path=PATH cookie가 사용될 URL주소의 디렉토리 부분의 경로를 설정한다.
지정을 하지 않으면 cookie를 설정한 문서위치가 적용된다.
domain = DOMAIN cookie가 사용될 URL주소의 도메인 부분의 경로를 지정한다.
지정을 하지 않으면 cookie를 설정한 문서위치의 도메인이 적용된다.
secure 데이터 전송에 보안이 요구되는지를 지정한다.
필요하다면 secure라는 키워드를 사용하면 된다.
Cookie설명
name=value1; name=value2 각 cookie 정보 사이에는 세미콜론(;) 기호를 사용하고 마지막 부분에는 기호를 붙이면 안된다.



실버라이트에서 쿠키를 사용하는 방법 입니다.

아래 클래스를 추가 했으면, 원하는 곳에서 아래처럼사용 하면 됩니다.
 쿠키에 저장 할 때  Cookies.SetCookie("id", "junsae");
 쿠키에 불러 올 때  Cookies.GetCookie("id");



public static class Cookies
   {
       

//쿠키를 저장하고 쿠키에대한 속성을 지정한다.
       public static void SetCookie(string key, string value)
       {
          // Expires
           DateTime expireDate = DateTime.Now + TimeSpan.FromDays(1);      

           //-쿠키에 속성을 지정
           string newCookie = key + "=" + value;
           //+";expires=" + expireDate.ToString("R"); 

           HtmlPage.Document.SetProperty("cookie", newCookie);
       }


     

 //저장된 쿠키값을 가져온다. 
       public static string GetCookie(string key)
       {
           string[] cookies = HtmlPage.Document.Cookies.Split(';');
           key += "=";
           foreach (string cookie in cookies)
           {
               string cookieStr = cookie.Trim();
               if (cookieStr.StartsWith(key, StringComparison.OrdinalIgnoreCase))
               {
                   string[] vals = cookieStr.Split('=');
                   if (vals.Length >= 2)
                       return vals[1];
                   else
                       return string.Empty;
               }
           }

           return null;
       }

   }

'Programming > Silverlight' 카테고리의 다른 글

RadConstrols Chart 개수 제한  (0) 2011.11.10

댓글