Silverlight读取和设置Cookie

源码,直接复制使用就OK

using System;
using System.Windows.Browser;
using System.Text;
using System.Linq;

 

public class CookiesUtils
    {
        /// <summary>
        /// 设置持久时间长的Cookie
        /// </summary>
        public static void SetCookie(string key, string value)
        {

            string oldCookie = HtmlPage.Document.GetProperty("cookie") as String;

            DateTime expiration = DateTime.UtcNow + TimeSpan.FromDays(2000);

            string cookie = String.Format("{0}={1};expires={2}", key, value, expiration.ToString("R"));

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

        }

        /// <summary>
        /// 读取一个已经存在的Cookie
        /// </summary>
        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];
                    }
                    return string.Empty;
                }
            }

            return string.Empty;
        }

        /// <summary>
        /// 删除特定的Cookie(清空它的Value值,过期值设置为-1天)
        /// </summary>
        public static void DeleteCookie(string key)
        {
            string oldCookie = HtmlPage.Document.GetProperty("cookie") as String;
            DateTime expiration = DateTime.UtcNow - TimeSpan.FromDays(1);
            string cookie = String.Format("{0}=;expires={1}", key, expiration.ToString("R"));
            HtmlPage.Document.SetProperty("cookie", cookie);
        }

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

        public static string GetCookieContent()
        {
            return HtmlPage.Document.GetProperty("cookie") as String;
        }
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值