读取Cookies的Domain问题

九章落地 2007-07-09 04:04:38
FormsAuthentication.SetAuthCookie(txtname.Value, false);
HttpCookie lcookie = Context.Response.Cookies[FormsAuthentication.FormsCookieName];
lcookie.Domain = ".wisdom.cn";
lcookie.Expires = DateTime.Now.AddMinutes(30);
Response.Redirect(FormsAuthentication.GetRedirectUrl(txtname.Value,false));
==============================================================
以上是写入Cookies的代码

可是,当我想读出COOKIES所在域时
Request.Cookies[FormsAuthentication.FormsCookieName].Domain.ToString();
它就说,未将对像引用到实例
直接读Request.Cookies[FormsAuthentication.FormsCookieName].Domain
是空的,快疯鸟
...全文
329 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
addwing 2007-07-11
  • 打赏
  • 举报
回复
有分就接!
godgreat 2007-07-10
  • 打赏
  • 举报
回复
接分
BearRui 2007-07-10
  • 打赏
  • 举报
回复
应该是楼主设置domain的地方有问题,楼主试试这样设置:

protected void Application_EndRequest(Object sender, EventArgs e)
{
HttpCookieCollection cookies = HttpContext.Current.Response.Cookies;
for (int i = 0; i < cookies.Count; i++)
{
cookies[i].Domain = ".wisdom.cn";
}
}
九章落地 2007-07-09
  • 打赏
  • 举报
回复
HttpCookie lcookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
Response.Write(lcookie.Value.ToString());
不为空
这个就能读,读出一串加密串
牛人 2007-07-09
  • 打赏
  • 举报
回复
支持一下.

我能想到的都说了.
greatqn 2007-07-09
  • 打赏
  • 举报
回复
应该不是domain取不到,而是这个cookie本来就取不到。
Request.Cookies[FormsAuthentication.FormsCookieName]
和 Response.Cookies[FormsAuthentication.FormsCookieName] 都是空吧。

Domain的话,需要和网站域名对应,否则是取不到cookie值。还不如为空或"."

取domain好象没什么意义啊?
BearRui 2007-07-09
  • 打赏
  • 举报
回复
首先看看你是Response.Cookies[FormsAuthentication.FormsCookieName]为null

还是Response.Cookies[FormsAuthentication.FormsCookieName].Domain为null
九章落地 2007-07-09
  • 打赏
  • 举报
回复
难道是Forms验证就不能读取Domain??
九章落地 2007-07-09
  • 打赏
  • 举报
回复
FormsAuthentication.SetAuthCookie(txtname.Value, false);
HttpCookie lcookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
lcookie.Domain = ".wisdom.cn";
lcookie.Expires = DateTime.Now.AddMinutes(30);
Response.Redirect(FormsAuthentication.GetRedirectUrl(txtname.Value,false));
==================================================================================
Request.Cookies[FormsAuthentication.FormsCookieName].Domain.ToString();
Response.Cookies[FormsAuthentication.FormsCookieName].Domain.ToString();
都是未将对象引用设置到对象的实例。
greatqn 2007-07-09
  • 打赏
  • 举报
回复
写cookie的时候要用Request,不能用Response

取cookie的时候,要看是在 Request 还是 Response 里。
九章落地 2007-07-09
  • 打赏
  • 举报
回复
还是不行

HttpCookie hc = new HttpCookie("test");
hc.Domain = ".wisdom.cn";
Response.Cookies.Add(hc);

Response.Write(Request.Cookies["test"].Domain.ToString());

这样写就一点问题都没有
greatqn 2007-07-09
  • 打赏
  • 举报
回复
试试
Response.Cookies[FormsAuthentication.FormsCookieName].Domain.ToString();

用cookie的话,Request和Response要分清楚。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧