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);
}