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));
}
{
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);
}
if (!ExistCookie("Name", this.ApplicationID.Text.Trim()))
{
SetCookie("Name", this.ApplicationID.Text.Trim(), ts);
}
继续追寻。。。。。。