ASP.NET cookie类 要求写一个cookie类实现以下功能1.保存用户名(有个checkbook是“记住用户名”)2.用户的自动登录(有个checkbook是“自动登录”)3.密码进行加密很急,谢谢大家。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Binary;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Data;using System.Configuration;namespace Bll{ /// <summary> /// Cookie操作类 /// </summary> public class CookieHelper { #region 保存Cookie /// <summary> /// 保存Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> /// <param name="CookieValue">Cookie值</param> /// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param> public static void SaveCookie(string CookieName, object CookieValue, double CookieTime) { HttpCookie myCookie = new HttpCookie(CookieName); DateTime now = DateTime.Now; myCookie.Value = ConvertObjectToString(CookieValue); if (CookieTime != 0) myCookie.Expires = now.AddHours(CookieTime); if (HttpContext.Current.Response.Cookies[CookieName] != null) HttpContext.Current.Response.Cookies.Remove(CookieName); HttpContext.Current.Response.Cookies.Add(myCookie); } private static string ConvertObjectToString(object CookieValue) { BinaryFormatter bf = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); bf.Serialize(ms, CookieValue); byte[] result = new byte[ms.Length]; result = ms.ToArray(); string temp = System.Convert.ToBase64String(result); ms.Flush(); ms.Close(); return temp; } #endregion #region 取得Cookie /// <summary> /// 取得Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> /// <returns>Cookie的值</returns> public static object GetCookie(string CookieName) { HttpCookie myCookie = new HttpCookie(CookieName); myCookie = HttpContext.Current.Request.Cookies[CookieName]; if (myCookie != null) return ConvertStringToObject(myCookie.Value); else return null; } private static object ConvertStringToObject(string value) { byte[] b = System.Convert.FromBase64String(value); MemoryStream ms = new MemoryStream(b, 0, b.Length); BinaryFormatter bf = new BinaryFormatter(); return bf.Deserialize(ms); } #endregion #region 清除Cookie /// <summary> /// 清除Cookie /// </summary> /// <param name="CookieName">Cookie名称</param> public static void ClearCookie(string CookieName) { HttpCookie myCookie = new HttpCookie(CookieName); DateTime now = DateTime.Now; myCookie.Expires = now.AddYears(-2); HttpContext.Current.Response.Cookies.Add(myCookie); } #endregion }} 尝试读取或写入受保护的内存错误,断点跟踪不到错误出在哪里 WPF 获取鼠标全局坐标 明天要出题,来几个 在定义类前面加一个[XXXXXXXX]是什么意思?叫什么技术? C#.net如何调用无线网络接口? 简易计算器及源码 奇怪的问题,this.Close()和aplication.exit() Up又分!好像一个简单的问题? C#怎么调用api函数 csv文件下载之中文名问题、高手请进 一SQL语句问题 请教一个实际应用的问题
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
namespace Bll
{
/// <summary>
/// Cookie操作类
/// </summary>
public class CookieHelper
{
#region 保存Cookie
/// <summary>
/// 保存Cookie
/// </summary>
/// <param name="CookieName">Cookie名称</param>
/// <param name="CookieValue">Cookie值</param>
/// <param name="CookieTime">Cookie过期时间(小时),0为关闭页面失效</param>
public static void SaveCookie(string CookieName, object CookieValue, double CookieTime)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now;
myCookie.Value = ConvertObjectToString(CookieValue);
if (CookieTime != 0)
myCookie.Expires = now.AddHours(CookieTime);
if (HttpContext.Current.Response.Cookies[CookieName] != null)
HttpContext.Current.Response.Cookies.Remove(CookieName);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
private static string ConvertObjectToString(object CookieValue)
{
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, CookieValue);
byte[] result = new byte[ms.Length];
result = ms.ToArray();
string temp = System.Convert.ToBase64String(result);
ms.Flush();
ms.Close();
return temp;
}
#endregion
#region 取得Cookie
/// <summary>
/// 取得Cookie
/// </summary>
/// <param name="CookieName">Cookie名称</param>
/// <returns>Cookie的值</returns>
public static object GetCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie = HttpContext.Current.Request.Cookies[CookieName];
if (myCookie != null)
return ConvertStringToObject(myCookie.Value);
else
return null;
}
private static object ConvertStringToObject(string value)
{
byte[] b = System.Convert.FromBase64String(value);
MemoryStream ms = new MemoryStream(b, 0, b.Length);
BinaryFormatter bf = new BinaryFormatter();
return bf.Deserialize(ms);
}
#endregion
#region 清除Cookie
/// <summary>
/// 清除Cookie
/// </summary>
/// <param name="CookieName">Cookie名称</param>
public static void ClearCookie(string CookieName)
{
HttpCookie myCookie = new HttpCookie(CookieName);
DateTime now = DateTime.Now;
myCookie.Expires = now.AddYears(-2);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
#endregion
}
}