/// <summary>
/// 存储Cookie
/// </summary>
/// <param name="name">Coookies名称</param>
/// <param name="value">对象</param>
/// <param name="expiredays">Cookie有效天数</param>
/// <param name="path">Cookie路径</param>
public static void AppendCookie(string name, object value, int expiredays, params string[] path)
{
//获得序列化字符串
string CookieString = SerializationFunc.SerializeObject(value);
foreach (string str in path)
{
HttpCookie Cookie = new HttpCookie(name);
Cookie.Value = CookieString;
Cookie.Expires = DateTime.Today.AddDays(expiredays);
if (str.Trim().Length>0)
{
Cookie.Path = str;
}
HttpContext.Current.Response.Cookies.Add(Cookie);
}
}
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="value">对象</param>
/// <returns>序列化字符串</returns>
public static string SerializeObject(object value)
{
string ReturnString = string.Empty;
using (MemoryStream SerializationStream = new MemoryStream())
{
BinaryFormatter BFormatter = new BinaryFormatter();
BFormatter.Serialize(SerializationStream, value);
ReturnString = Convert.ToBase64String(SerializationStream.ToArray());
}
return ReturnString;
}
/// <summary>
/// 反序列化对象
/// </summary>
/// <param name="value">序列化字符串</param>
/// <returns>对象</returns>
public static object DeSerializeObject(string value)
{
object ReturnObject;
using (MemoryStream SerialzationStream = new MemoryStream(Convert.FromBase64String(value)))
{
BinaryFormatter BFormatter = new BinaryFormatter();
ReturnObject = (object)BFormatter.Deserialize(SerialzationStream);
}
return ReturnObject;
}