奇怪的是:cookie被设置,但在访问另一个页面时失去了它的价值.这是我简单的控制器代码:
public class HomeController : Controller{ public ActionResult About() { var cookie = Response.cookies.Get("sID"); VIEwData["deBUG"] = "ID: " + cookie.Value; return VIEw(); } public ActionResult Dologin() { var cookie = new httpcookie("sID",GuID.NewGuID().ToString()); cookie.httpOnly = true; Response.cookies.Add(cookie); return RedirectToAction("About"); }}
流程是这样的:首先我访问/ Home / Dologin,然后我被重定向到/ Home / About哪个应该实际输出sID cookie的值.但是cookie没有任何价值.
>我的浏览器未禁用cookie
>我知道ASP.NET有自己的会话处理机制,只是玩弄并偶然发现这个cookie问题
谢谢你的任何提示!
解决方法 在“关于” *** 作中,请改用Request.cookies.作为一个简短的解释:当您在Response.cookies中设置某些内容时,该cookie将被发送到存储它的客户端.在到达相同名称空间的每个后续请求中,在到达到期日期之前,客户端将该cookie发送到服务器,服务器将其存储在Request.cookies中.
总结以上是内存溢出为你收集整理的c# – 为什么我的cookie没有设置?全部内容,希望文章能够帮你解决c# – 为什么我的cookie没有设置?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)