知识大全 在Silverlight应用程序中操作Cookie

Posted 操作

篇首语:枕上从妨一夜睡,灯前读尽十年诗。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 在Silverlight应用程序中操作Cookie相关的知识,希望对你有一定的参考价值。

在Silverlight应用程序中操作Cookie  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  概述

  很多朋友来信问如何在Silverlight 中操作Cookie 这里专门写篇文章介绍一下 为了实现在Silverlight应用程序中对于Cookie的操作 我们需要借助于HtmlPage Document对象

  在使用HtmlPage Document之前 请先添加System Windows Browser命名空间 本文介绍了如何在Silverlight应用程序中操作Cookie 并在最后给出了一个操作Cookie的公用类 大家可以直接在自己的应用程序中使用

  写入Cookie

  在Silverlight 应用程序中 我们可以通过HtmlPage Document SetProperty方法来设置Cookie或者使用HtmlPage Document对象的Cookies属性(后面会讲到) 如下代码所示          void btnSet_Click(object sender RoutedEventArgs e)                    DateTime expir = DateTime UtcNow + TimeSpan FromDays( );            String cookie = String Format( = ;expires=             this txtKey Text             this txtValue Text             expir ToString( R ));            HtmlPage Document SetProperty( cookie cookie);       

  这里设置Cookie的过期时间为一周 除了设置过期时间外还可以设置domain path等 后面的帮助类中你将看到这一点

  如使用下面的界面写入Cookie

  

  读取Cookie

  我们可以通过HtmlPage Document GetProperty方法来获取所有Cookie 另外在HtmlDocument中定义了Cookies属性 已经为我们封装好了GetProperty方法 可以直接使用 它的定义如下代码所示          public sealed class HtmlDocument : HtmlObject                    public string Cookies                            get                    HtmlPage VerifyThread();                    String property = this GetProperty( cookie ) as String;                    if (property != null)                                            return property;                                        return String Empty;                                set                    HtmlPage VerifyThread();                    String str = value;                    if (String IsNullOrEmpty(str))                                            str = string Empty;                                        this SetProperty( cookie str);                                   

  如使用下面这段代码来获取一个指定Key的Cookie值          void btnRetrieve_Click(object sender RoutedEventArgs e)                    String[] cookies = HtmlPage Document Cookies Split( ; );            foreach (String cookie in cookies)                            String[] keyValues = cookie Split( = );                if (keyValues Length == )                                    if (keyValues[ ] Trim() == this txtKey Text Trim())                                            this txtValue Text = keyValues[ ];                                                       

  如下图所示

  

  删除Cookie

  删除Cookie非常简单 清空Cookie的值并设置它的过期时间 如下代码所示          void btnDelete_Click(object sender RoutedEventArgs e)                    DateTime expir = DateTime UtcNow TimeSpan FromDays( );            string cookie = String Format( =;expires=                 this txtKey Text expir ToString( R ));            HtmlPage Document SetProperty( cookie cookie);       

  Cookie帮助类

  由于在开发中 我们可能会经常用到对于Cookie的操作 我在这里总结了一个简单的Silverlight中操作Cookie帮助类 大家可以直接在自己的项目中使用 主要有如下几个功能

   写入Cookie

   读取Cookie

   删除Cookie

   判断Cookie是否存在

  当然如果你还有别的需求 可以再进一步完善 完整的代码如下

  public class CookiesUtils                    public static void SetCookie(String key String value)                            SetCookie(key value null null null false);                        public static void SetCookie(String key String value TimeSpan expires)                            SetCookie(key value expires null null false);                        public static void SetCookie(String key String value TimeSpan? expires                 String path String domain bool secure)                            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 )));                                if (!String IsNullOrEmpty(path))                                    cookie Append(String Concat( ;path= path));                                if (!String IsNullOrEmpty(domain))                                    cookie Append(String Concat( ;domain= domain));                                if (secure)                                    cookie Append( ;secure );                                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 == && keyValues[ ] Trim() == key Trim()                                select keyValues[ ]) FirstOrDefault();                return result;                        public static void DeleteCookie(String key)                            DateTime expir = DateTime UtcNow TimeSpan FromDays( );                string cookie = String Format( =;expires=                     key expir ToString( R ));                HtmlPage Document SetProperty( cookie cookie);                        public static bool Exists(String key String value)                            return HtmlPage Document Cookies Contains(String Format( = key value));                   

cha138/Article/program/net/201311/12979

相关参考

知识大全 Silverlight应用程序获取ASP.NET页面参数

Silverlight应用程序获取ASP.NET页面参数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 在silverlight中使用downloader

  downloader对象为Silverlight插件提供了下载功能其通过HTTP(get)请求异步下载指定的内容  downloader所支持的event包括  Completed下载完成(Dow

知识大全 Silverlight插件安装说明

Silverlight插件安装说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Silverl

知识大全 使用silverlight中的Storyboard实现动画效果

使用silverlight中的Storyboard实现动画效果  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 Silverlight 中给TreeView添加复选框

Silverlight中给TreeView添加复选框  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 如何配置支持Silverlight的Web服务器

如何配置支持Silverlight的Web服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 虽非完美但却值得选择 Silverlight客观评测

虽非完美但却值得选择Silverlight客观评测  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 谈谈Silverlight 2中视觉状态管理第一部分

谈谈Silverlight2中视觉状态管理第一部分  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 新工具使Eclipse成为Silverlight IDE

新工具使Eclipse成为SilverlightIDE  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

在WINDOWS操作系统中,屏幕保护程序的主要作用是

在WINDOWS操作系统中,屏幕保护程序的主要作用是_____。A、保护显示器B、保护硬盘C、保护用户视力D、减低能耗答案:A解析:屏幕保护是为了保护显示器而设计的一种专门的程序,是为了防止电脑因无人