首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在HttpCookie中使用C#代替会话

在HttpCookie中使用C#代替会话
EN

Stack Overflow用户
提问于 2015-08-18 17:42:40
回答 1查看 1.5K关注 0票数 1

我想在HttpCookie中使用Session而不是Session

当我在登录页面中设置cookie并将其重定向到下一页时,我将面临问题。如果我试图访问下一页中的cookie,它将返回null。

登录页代码

代码语言:javascript
复制
HttpCookie loginCookie = new HttpCookie("LoginInfo");
loginCookie["EmailID"] = txt_email.Text;
loginCookie.Domain = ConfigurationManager.AppSettings["SiteURL"];
loginCookie.Expires = DateTime.Now.AddDays(30);
loginCookie.Secure = false;
loginCookie.Domain = "/";
Response.Cookies.Add(loginCookie);
Response.Redirect("home.aspx");

主页代码

代码语言:javascript
复制
HttpCookie loginCookie = new HttpCookie("LoginInfo");
if (loginCookie["EmailID"] == null)
{
   Response.Redirect("Default.aspx");
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-18 17:44:19

您不必创建一个新的Cookie,而是使用Request.Cookies检索现有的

代码语言:javascript
复制
HttpCookie loginCookie = Request.Cookies["LoginInfo"];

请参阅:如何:读取Cookie - MSDN

另一件事是从第一段代码中删除设置Domain,您要设置它两次,只需注释掉这两行。

代码语言:javascript
复制
HttpCookie loginCookie = new HttpCookie("LoginInfo");
loginCookie["EmailID"] = txt_email.Text;
//loginCookie.Domain = ConfigurationManager.AppSettings["SiteURL"]; //This one
loginCookie.Expires = DateTime.Now.AddDays(30);
loginCookie.Secure = false;
//loginCookie.Domain = "/";  //and This one
Response.Cookies.Add(loginCookie);
Response.Redirect("home.aspx");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32079204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档