asp.net使用cookie总结
写cookie:
    Response.Cookies["userName"].Value = "patrick"; 
     Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); 
     HttpCookie aCookie = new HttpCookie("lastVisit"); 
     aCookie.Value = DateTime.Now.ToString(); 
     aCookie.Expires = DateTime.Now.AddDays(1);
     Response.Cookies.Add(aCookie);
Cookie有多个值:
     Response.Cookies["userInfo"]["userName"] = "patrick"; 
     Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString(); 
     Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1); 
     HttpCookie aCookie = new HttpCookie("userInfo"); 
     aCookie.Values["userName"] = "patrick"; 
     aCookie.Values["lastVisit"] = DateTime.Now.ToString(); 
     aCookie.Expires = DateTime.Now.AddDays(1); 
     Response.Cookies.Add(aCookie);
限制Cookie只在指定文件夹或应用下有效:
     HttpCookie appCookie = new HttpCookie("AppCookie");
     appCookie.Value = "written " + DateTime.Now.ToString();
     appCookie.Expires = DateTime.Now.AddDays(1);
     appCookie.Path = "/Application1";
     Response.Cookies.Add(appCookie);
限制Cookie域名范围:
     Response.Cookies["domain"].Value = DateTime.Now.ToString();
     Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1);
     Response.Cookies["domain"].Domain = "support.contoso.com";
     Response.Cookies["domain"].Value = DateTime.Now.ToString();
     Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1);
     Response.Cookies["domain"].Domain = "contoso.com";
读Cookie:
if(Request.Cookies["userName"] != null)
Label1.Text = Server.HtmlEncode(Request.Cookies["userName"].Value);
if(Request.Cookies["userName"] != null)
{
   HttpCookie aCookie = Request.Cookies["userName"];
   Label1.Text = Server.HtmlEncode(aCookie.Value);
}
if(Request.Cookies["userInfo"] != null)
{
   Label1.Text = 
   Server.HtmlEncode(Request.Cookies["userInfo"]["userName"]);
   Label2.Text =
   Server.HtmlEncode(Request.Cookies["userInfo"]["lastVisit"]);
}
if(Request.Cookies["userInfo"] != null)
{
    System.Collections.Specialized.NameValueCollection
    UserInfoCookieCollection;
    UserInfoCookieCollection = Request.Cookies["userInfo"].Values;
    Label1.Text = Server.HtmlEncode(UserInfoCookieCollection["userName"]);
    Label2.Text =Server.HtmlEncode(UserInfoCookieCollection["lastVisit"]);
改变Cookie的过期时间:
System.Text.StringBuilder output = new System.Text.StringBuilder();
HttpCookie aCookie;
for(int i=0; i<Request.Cookies.Count; i++)
{
   aCookie = Request.Cookies[i];
   output.Append("Cookie name = " + Server.HtmlEncode(aCookie.Name) 
   + "<br />");
    output.Append("Cookie value = " + Server.HtmlEncode(aCookie.Value)+ "<br /><br />");
}
Label1.Text = output.ToString();
读取Cookie集合:
     System.Text.StringBuilder output = new System.Text.StringBuilder();
     HttpCookie aCookie;
     for(int i=0; i<Request.Cookies.Count; i++)
     {
        aCookie = Request.Cookies[i];
        output.Append("Cookie name = " + Server.HtmlEncode(aCookie.Name) + "<br />");
        output.Append("Cookie value = " + Server.HtmlEncode(aCookie.Value)+ "<br                                       /><br />");
      }
      Label1.Text = output.ToString();
Demo:
System.Text.StringBuilder output = new System.Text.StringBuilder();
HttpCookie aCookie;
string subkeyName;
string subkeyValue;
for (int i = 0; i < Request.Cookies.Count; i++)
{
aCookie = Request.Cookies[i];
output.Append("Name = " + aCookie.Name + "<br />");
if (aCookie.HasKeys)
{
System.Collections.Specialized.NameValueCollection CookieValues = 
aCookie.Values;
string[] CookieValueNames = CookieValues.AllKeys;
for (int j = 0; j < CookieValues.Count; j++)
{
     subkeyName = Server.HtmlEncode(CookieValueNames[j]);
     subkeyValue = Server.HtmlEncode(CookieValues[j]);
     output.Append("Subkey name = " + subkeyName + "<br />");
     output.Append("Subkey value = " + subkeyValue + 
     "<br /><br />");
}
}
else
{
     output.Append("Value = " + Server.HtmlEncode(aCookie.Value) +
"<br /><br />");
}
}
Label1.Text = output.ToString();
修改或删除Cookie:
int counter;
if (Request.Cookies["counter"] == null)
counter = 0;
else
{
counter = int.Parse(Request.Cookies["counter"].Value);
}
counter++;
Response.Cookies["counter"].Value = counter.ToString();
Response.Cookies["counter"].Expires = DateTime.Now.AddDays(1);
删除Cookie:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i=0; i<limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}
修改或删除子键:
    Response.Cookies["userInfo"]["lastVisit"] = DateTime.Now.ToString();          Response.Cookies["userInfo"].Expires = DateTime.Now.AddDays(1);
        string subkeyName;
        subkeyName = "userName";
        HttpCookie aCookie = Request.Cookies["userInfo"];
        aCookie.Values.Remove(subkeyName);
        aCookie.Expires = DateTime.Now.AddDays(1);
        Response.Cookies.Add(aCookie);
Cookie的安全性:
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (Request.QueryString["AcceptsCookies"] == null)
            {
                Response.Cookies["TestCookie"].Value = "ok";
                Response.Cookies["TestCookie"].Expires =
                DateTime.Now.AddMinutes(1);
                Response.Redirect("TestForCookies.aspx?redirect=" +
                Server.UrlEncode(Request.Url.ToString()));
            }
            else
            {
                Label1.Text = "Accept cookies = " +
                Server.UrlEncode(
                Request.QueryString["AcceptsCookies"]);
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string redirect = Request.QueryString["redirect"];
        string acceptsCookies;
        if (Request.Cookies["TestCookie"] == null)
            acceptsCookies = "no";
        else
        {  
            acceptsCookies = "yes";
            // Delete test cookie.
            Response.Cookies["TestCookie"].Expires =
            DateTime.Now.AddDays(-1);
        }
        Response.Redirect(redirect + "?AcceptsCookies=" + acceptsCookies, true);
}
具体参考,可以参考西南本本网——http://www.xnbenben.com
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号