知识大全 在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插件安装说明 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Silverl
知识大全 使用silverlight中的Storyboard实现动画效果
使用silverlight中的Storyboard实现动画效果 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
知识大全 Silverlight 中给TreeView添加复选框
Silverlight中给TreeView添加复选框 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如何配置支持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操作系统中,屏幕保护程序的主要作用是_____。A、保护显示器B、保护硬盘C、保护用户视力D、减低能耗答案:A解析:屏幕保护是为了保护显示器而设计的一种专门的程序,是为了防止电脑因无人