如何在Silverlight中使用Cookie
Cookie是我们在浏览器中经常用到的一个存储方式,他操作简便容易读取容易维护,可能有人在想在Silverlight中能使用cookie吗? 答案是必然的! 下面就让我来为大家介绍一下在sl中使用Cookie的方法吧~
创建一个Cookie还会用到我们的老朋友 htmlpage.document;
/// <summary>
/// 创建Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
private void SetCookie(string key, string value)
{
DateTime expireDate = DateTime.Now + TimeSpan.FromDays(7); //有效期为一周
string newCookie = key + "=" + value + ";expires=" + expireDate.ToString("R");
HtmlPage.Document.SetProperty("cookie", newCookie);
}
/// 创建Cookie
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
private void SetCookie(string key, string value)
{
DateTime expireDate = DateTime.Now + TimeSpan.FromDays(7); //有效期为一周
string newCookie = key + "=" + value + ";expires=" + expireDate.ToString("R");
HtmlPage.Document.SetProperty("cookie", newCookie);
}
读取Cookie也同样简单
/// <summary>
/// 读取Cookie
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
private string GetCookie(string key)
{
string[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (string cookie in cookies)
{
string[] keyValue = cookie.Split('=');
if (keyValue.Length == 2)
{
if (keyValue[0].ToString() == key)
{
return keyValue[1];
}
}
} return null;
}
/// 读取Cookie
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
private string GetCookie(string key)
{
string[] cookies = HtmlPage.Document.Cookies.Split(';');
foreach (string cookie in cookies)
{
string[] keyValue = cookie.Split('=');
if (keyValue.Length == 2)
{
if (keyValue[0].ToString() == key)
{
return keyValue[1];
}
}
} return null;
}
Source code: Set Browser Cookie