Cookie读取值为空

时间:2016-07-11 09:04:04

标签: c# asp.net cookies

我正在使用VS2015,C#。

我的Cookie值是:

  

提供商=定制&安培; Email=someemail@gmail.com&用户名=约翰&安培;姓=测试&安培;名字= LastTest&安培;过期= 2016年7月11日   11时03分05秒

我试图通过以下方式获得此值:

HttpContext context = HttpContext.Current;
HttpCookie cookie = context.Request.Cookies["Login"];

string provider = cookie["Provider"];
string email = cookie["Email"];

提供商和电子邮件均为空。如何从cookie中获取值?

修改

Cookie保存为:

HttpCookie cookie = new HttpCookie("Login");
                cookie["Provider"] = "Custom";
                cookie["Email"] = "test@gmail.com"; 
                Response.Cookies.Add(cookie);

第二次编辑

我认为问题是加密。我正在使用自己的加密机制。 Cookie.value在解密后看起来很好,但Cookie.Values与原始有点不同。我认为这就是问题所在。

Cookie.Value (before encryption): Provider=Custom&Email=test@gmail.com
Cookie.Value (after decryption):      Provider=Custom&Email=test@gmail.com

Cookie.Values (before encryption) :{Provider=Custom&Email=test%40gmail.com}
Cookie.Value (after decryption - is different):       {Provider%3dCustom%26Email%3dtest%40gmail.com}

1 个答案:

答案 0 :(得分:0)

尝试以下

HttpCookie cookie1 = Request.Cookies["Login"];

if (cookie1 != null)
{
    string provider = cookie1["Provider"].ToString();
    string email = cookie1["Email"].ToString();
}