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);
        }

 

 

posted @ 2011-05-09 17:26  空紫竹  阅读(314)  评论(2编辑  收藏  举报