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的方式可以

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

(0)

相关推荐

  • 在C#中 webbrowser的使用心得

    1.首先是屏蔽浏览器右键菜单的问题,用以下代码可以让浏览器用自己的右键菜单:tempBrowser.ContextMenuStrip = this.contextMenuStrip1;tempBrowser.IsWebBrowserContextMenuEnabled = false; 但是很不幸,上面的代码在有的机器上不起作用,开始以为是环境或者流氓插件的问题,折磨了很久无果,后来把.net升级到4.0竟然解决了这个问题,估计就是微软webbrowser控件的问题 2.屏蔽拷贝快捷键和截屏快捷

  • c# 在WebBrowser中用SendMessage模拟鼠标点击

    复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; namespace BrowserMouseClick { public

  • C#中Request.Cookies 和 Response.Cookies 的区别分析

    .NET中提供了读写Cookie的多种方法,Request.Cookies 是客户端通过 Cookie 标头形式由客户端传输到服务器的 Cookie:Response.Cookies 在服务器上创建并以 Set-Cookie 标头的形式传输到客户端.也就是说,一个是客户端向服务器端发送的来的,一个是服务器发送到客户端的. 第一次创建Cookies的时候,下面的2种读取方法读取到的内容是一样: C# 代码 复制代码 代码如下: HttpCookie hc = new HttpCookie("Use

  • C#的WebBrowser的操作与注意事项介绍

    1.在Winform里使用WebBrowser,要对Form1.cs添加一些东西:    1.1 在"public partial class Form1 : Form"上方,添加: 复制代码 代码如下: [PermissionSet(SecurityAction.Demand, Name = "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 1.2 在Form1的Show

  • C#的WebBrowser操作frame实例解析

    本文实例讲述了用WebBrowser操作frame和iframe的方法,比较适合C#初学者参考学习.示例浅显易懂,具体方法如下:   1.获取frame的源文件 MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml); 2.获取frame的HTMLDocument接口 HTMLDocument doc = (HTMLDocument)webBrowser1.Document.

  • 解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法

    解决C#中WebBrowser的DocumentCompleted事件不执行的实现方法 :使用WebBrowser的ProgressChanged事件,在时间中判断((WebBrowser)sender).ReadyState == WebBrowserReadyState.Complete是否成立,若成立则执行DocumentCompleted的处理. 复制代码 代码如下: void WebBrowser_ProgressChangedForSomething(object sender, W

  • 浅析c#中WebBrowser控件的使用方法

    首先先来简单介绍一下webbrowser控件,这个控件是可以实现在form窗体中添加网页内容的.如图,我在form中加入了百度api,(百度地图api调用博客里有讲) 使用这个控件其实很简单 (1)第一步只要在form_load中输入 复制代码 代码如下: webBrowser1.Navigate(Application.StartupPath + " /map.html");//引号中为网页代码存放地址,注意要用相对地址不用绝对地址,这样才有可移植性,把网页放到程序的debug目录下

  • C#清除WebBrowser中Cookie缓存的方法

    本文实例讲述了C#清除WebBrowser中Cookie缓存的方法.分享给大家供大家参考,具体如下: 最近用C#写一个程序,用一个窗体中的WebBrowser来登陆网站,但是WebBrowser有cookie缓存,第二次登陆的时候WebBrowser仍然是第一次登陆后的状态,所以要清除WebBrowser的cookie缓存. 在stackoverflow上找到一段可用的代码: [DllImport("wininet.dll", CharSet = System.Runtime.Inte

  • C# HttpClient Cookie验证解决方法

    自实现的cookie 验证,远程取值的例子 以下代码配合HttpClient使用可以实现跨域(cookie的读写) //验证 复制代码 代码如下: HttpClient httpClient = new HttpClient(url, null, true); httpClient.PostingData.Add(key,value);//登录用户名 httpClient.PostingData.Add(key,value);//密码 string str = httpClient.GetStr

  • C#基于WebBrowser获取cookie的实现方法

    本文实例讲述了C#基于WebBrowser获取cookie的实现方法.分享给大家供大家参考,具体如下: private void BtnOpenUrl_Click(object sender, EventArgs e) { if (txtUrl.Text != "") { MywebBrowser.Url = new Uri(txtUrl.Text); } } private void BtnGetCookie_Click(object sender, EventArgs e) { C

  • C#之WinForm WebBrowser实用技巧汇总

    本文实例汇总了C#中WinForm WebBrowser常见的实用技巧,对于C#程序开发来说有不错的借鉴价值.分别叙述如下: 方法1:获取状态栏信息 void webBrowser1_StatusTextChanged(object sender, EventArgs e) { label1.Text = webBrowser1.StatusText; } 方法2:页面跳转后改变地址栏地址 //在Navigated事件处理函数中改变地址栏地址是最恰当的: private void webBrow

  • C#使用webbrowser的常见用法实例

    本文实例讲述了C#使用webbrowser的常见用法.分享给大家供大家参考.具体如下: 判断是否网络正常 private bool IsConnectedToInternet() { int Desc; return internet.InternetGetConnectedState(out Desc, 0); } 设置默认页面: 复制代码 代码如下: webBrowser1.Navigate(new Uri("http://www.yoursiteweb.com/copy.aspx"

  • C#的WEBBROWSER与JS交互小结

    本文实例总结了C#的WEBBROWSER与JS交互的方法.分享给大家供大家参考.具体实现方法如下: 一.实现WebBrowser内部跳转,阻止默认打开IE 1.引用封装好的WebBrowserLinkSelf.dll实现 复制代码 代码如下: public partial class MainWindow : Window {        private WebBrowser webBrowser = new WebBrowser();          public MainWindow()

随机推荐