手机
当前位置:查字典教程网 >编程开发 >C#教程 >c# 对cookies(增、删、改、查)的操作方法
c# 对cookies(增、删、改、查)的操作方法
摘要:-----------------------------------------------------操作---------------...

-----------------------------------------------------操作-----------------------------------------------------------

1.添加cookies(用cookies方式去做sso,用户信息保存,修改都会依赖cookies)

复制代码 代码如下:

#region##添加cookeis

///<summary>

/// 添加cookeis

///</summary>

public void AddCookies()

{

HttpCookie cookies = new HttpCookie("Porschev");

cookies["name"] = "Zhong Wei";

cookies["sex"] = "1";

cookies.Expires = DateTime.Now.AddMinutes(20);

Response.Cookies.Add(cookies);

}

#endregion

添加cookies一般不会有人出错的。。。记得添加Expires就行

2.修改cookies( 在程序中难免会操作,对用户信息的修改,更新数据库后,也会修改cookies,为了修改后的显示)

方法一:

复制代码 代码如下:

#region##修改cookies

///<summary>

/// 修改cookies

///</summary>

public void ModCookies()

{

HttpCookie cookies = Request.Cookies["Porschev"];

cookies["name"] = "wilson Z";

}

#endregion

新建个测式页。。再取cookies中的name,结果:wilson Z;

这是这次项目中遇到的“杯具”事件之一,当这样修改cookies时,在更新方法中再取这个名为Porschev的cookies,

name的值还为Zhong Wei而非wilson Z,页面显示也不对(己排除页面缓存原因,更新也确实没有成功)

修改方法一:

复制代码 代码如下:

#region##修改cookies

///<summary>

/// 修改cookies

///</summary>

public void ModCookies()

{

HttpCookie cookies = Request.Cookies["Porschev"];

cookies["name"] = "wilson Z";

//加上下面一句

Response.Cookies["Porschev"].Expires = DateTime.Now.AddMinutes(-1);

}

#endregion

再次测式,结果正确,取出name的值为:wilson Z,页面显示也正确

自己理解:得让以前存入过期时间为20min的cookies失效

3.得到cookies (这个最简单,为求方法完整,还是写上吧)

复制代码 代码如下:

#region##得到cookies

///<summary>

/// 得到cookies

///</summary>

public void GetCookies()

{

HttpCookie cookies = Request.Cookies["Porschev"];

string name = cookies["name"]; //通过key取出对应value,多key同理取

}

#endregion

4.删除cookies (删除cookies网上有很多方法,但是删除不是都能管用)

方法一:(最常用的一个删除cookies方法)

复制代码 代码如下:

#region##删除cookies

///<summary>

/// 删除cookies

///</summary>

public void DelCookeis()

{

if (Request.Cookies["Porschev"] != null)

{

HttpCookie cookies = new HttpCookie("Porschev");

cookies.Expires = DateTime.Now.AddDays(-1);

Response.Cookies.Add(cookies);

}

}

#endregion

在项目中测式,删除部分cookies失败,很无语,于是换一种方法

复制代码 代码如下:

#region##删除cookies

///<summary>

/// 删除cookies

///</summary>

public void DelCookeis()

{

foreach (string cookiename in Request.Cookies.AllKeys)

{

HttpCookie cookies = Request.Cookies[cookiename];

if (cookies != null)

{

cookies.Expires = DateTime.Today.AddDays(-1);

Response.Cookies.Add(cookies);

Request.Cookies.Remove(cookiename);

}

}

}

#endregion

测式:删除成功

自己理解:方法一只能删除提当前Response中的cookies,不对完成删除掉客端的cookies,用遍历cookies的方式可以

方法一定对,己经过项目实际验证,观点不一定正确,如理解有误,请各位指正!!

【c# 对cookies(增、删、改、查)的操作方法】相关文章:

C#保存图片到数据库并读取显示图片的方法

c#中SAPI使用总结——SpVoice的使用方法

在Winform动态启动、控制台命令行的方法

用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

C#中控制远程计算机的服务的方法

C#对XML文件的各种操作实现方法

使用SmtpClient发送邮件的方法

C# 对MongoDB 进行增删改查的简单操作实例

c#剪切板操作的简单实例

C# cmd中修改显示(显示进度变化效果)的方法

精品推荐
分类导航