Silverlight 处理cookie


  public   static   void  SetCookie(String key, String value, TimeSpan ?  expires)
    {
      StringBuilder cookie 
=   new  StringBuilder();
      cookie.Append(String.Concat(key, 
" = " , value));
      
if  (expires.HasValue)
      {
        DateTime expire 
=  DateTime.UtcNow  +  expires.Value;
        cookie.Append(String.Concat(
" ;expires= " , expire.ToString( " R " )));
      }
      HtmlPage.Document.SetProperty(
" cookie " , cookie.ToString()); 
    }

    
public   static   string  GetCookie(String key)
    {
      String[] cookies 
=  HtmlPage.Document.Cookies.Split( ' ; ' );
      String result 
=  (from c  in  cookies
                       let keyValues 
=  c.Split( ' = ' )
                       
where  keyValues.Length  ==   2   &&  keyValues[ 0 ].Trim()  ==  key.Trim()
                       select keyValues[
1 ]).FirstOrDefault();
      
return  result  ==   null   ?   ""  : result;
    }

    
public   static   bool  ExistCookie(String key, String value)
    {
      
return  HtmlPage.Document.Cookies.Contains(String.Format( " {0}={1} " , key, value));
    }

 使用:

TimeSpan ts = TimeSpan.FromDays(365);
        if (!ExistCookie("Name", this.ApplicationID.Text.Trim()))
        {
          SetCookie("Name", this.ApplicationID.Text.Trim(), ts);
        }

 

 

你可能感兴趣的:(silverlight)