asp.net webservice cookie 保存后NAME有值,Value却没有值 代码如下:
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net webservice cookie 保存后NAME有值,Value却没有值 代码如下:相关的知识,希望对你有一定的参考价值。
HttpCookie acookie = new HttpCookie("VOTE_USER");
acookie.Value = Name;(NAME是有值的)
HttpContext.Current.Response.Cookies.Add(acookie);
读取:
HttpCookie bcookie = HttpContext.Current.Request.Cookies["VOTE_USER"];
if (ucookie!= null)
return ucookie.Value;
else
return "";
就是得到的COOKIE的VALUE一直都是空的
我是在webservice 里面写的,跟这个有关系么?
acookie.Value = Name;(NAME是有值的)
HttpContext.Current.Response.Cookies.Add(acookie);
读取:
HttpCookie bcookie = HttpContext.Current.Request.Cookies["VOTE_USER"];
if (ucookie!= null) ////这里写错了,应该是 bcookie
return ucookie.Value; ////这里写错了,应该是 bcookie
else
return "";
就是得到的COOKIE的VALUE一直都是空的
你改成这样看看。
HttpCookie cookie = new HttpCookie("VOTE_USER");
cookie["USER_GUID"] = Name;
DateTime dtNow = DateTime.Now;
TimeSpan tsMinute = new TimeSpan(30, 0, 0, 0);
cookie.Expires = dtNow + tsMinute;
Response.Cookies.Add(cookie);追问
做完VALUES也是没有值
追答你的读取程序写错了。
读取:
HttpCookie bcookie = HttpContext.Current.Request.Cookies["VOTE_USER"];
if (ucookie!= null) ////这里写错了,应该是 bcookie
return ucookie.Value; ////这里写错了,应该是 bcookie
else
return "";
不是写错的事情,我是跟踪的走的,bcookie 的时候已经没有值了
参考技术A 个人觉得楼主可能是不了解cookie的周期所致。cookie和session等对象不同,session你一赋于它值,它马上就有值了。
但cookie,需要下一次打开这个页面,才能查询到上一次保存的cookie值。追问
我从新打开还是没有COOKIE啊
追答哈哈,无意中发现,你没有指定cookie的生命周期。
acookie.Expires = DateTime.Now.AddYears(1);
这个我改过很多次了,制定生命周期的时候还是步行啊
追答你的问题的确很诡异。。。
莫非是浏览器禁止cookie写入?
HttpContext.Current.Request.Cookies["VOTE_USER"]
断点跟踪下这个东东是null不,如果是,则有可能。如果不是null,但它的value为空白。那真是匪夷所思了,呵呵
我也纳闷,存进去的时候还好好的,一读取COOKIE的name有值,VALUE没有值了
参考技术B 怀疑楼主前后的HttpContext不是一个。建议跟踪前后HttpContext的ID查证。追问
我前后只new过一个HTTPCONTENT啊
参考技术C HttpContext.Current.Request.Cookies[XXX]这个是不是静态函数啊, 否则就没有作用的!! 参考技术D 跨域了吧,它共享cookie吗?追问怎么共享啊
追答怎么说呢,一般不好共享的吧,因为远程的response不是你的程序的response
你可以把值用xml传到你的应用程序,在保存cookie或存其他地方
以上是关于asp.net webservice cookie 保存后NAME有值,Value却没有值 代码如下:的主要内容,如果未能解决你的问题,请参考以下文章