Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置了Expires的HttpCookie返回DateTime.MinValue_C#_Asp.net Mvc_Cookies - Fatal编程技术网

C# 设置了Expires的HttpCookie返回DateTime.MinValue

C# 设置了Expires的HttpCookie返回DateTime.MinValue,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,我在做饼干的时候看到了一些奇怪的东西 行动: string cookieName = "foo"; string cookieValue = "bar"; //Set a cookie in the response, along with the Expires. this.ControllerContext.HttpContext.Response.Cookies.Add( new HttpCookie(cookieName, cookieValue) { Expires

我在做饼干的时候看到了一些奇怪的东西

行动:

string cookieName = "foo";
string cookieValue = "bar";

//Set a cookie in the response, along with the Expires.
this.ControllerContext.HttpContext.Response.Cookies.Add(
  new HttpCookie(cookieName, cookieValue)
  {
    Expires = DateTime.Now.AddHours(1)
  }
);
在调试时,我可以看到这个新cookie在未来有一个小时的到期日,但是,当我在视图中查看cookie时,到期日不在那里

视图:

返回
01/01/0001 00:00:00


有什么想法吗

您正在查看请求-其中不包含过期时间。服务器告诉客户端cookie何时到期;客户端也不需要告诉服务器:)

响应。Cookie
与请求非常不同。Cookie有两件事:首先,如果您在响应推送到客户端之前查看请求,那么请求将不会有您的更新


,如果您正在设置cookie,然后使用响应。重定向,您的cookie值可能尚未推送到客户端。在封面下,Response.Redirect调用“Thread.Abort()”,这会终止线程。

好吧,这是MVC,我正在执行RedirectToAction。@DanAtkinson您解决问题了吗?我也有类似的情况。你能帮我吗?@DanAtkinson我看到了。。我关心的是如何管理“记住我”。如果auth cookie未在该过期时间内工作,那么如何管理它?请和我分享你的想法。@AbhishekB。使用响应对象。如果这不是你的答案,那么我建议你提出一个新问题,而不是把它贴在我8年前提出的问题的评论上@丹纳金森,对。我问。等待答案和解决方案。。。谢谢,回复中没有任何内容。饼干。不太清楚发生了什么。您正在设置cookies-然后在下一个请求中检查它们吗?我不会期望任何响应。Cookies,除非您添加它们。我的操作基本上是一个SetEnvironmentMode操作。在这个动作中,cookie被设置,并返回一个重定向到GetEnvironmentMode的动作。我在这里看到了我的问题,我理解你的意思。我想做的是设置一个到期时间(有效),但是,在我的GetEnvironmentMode视图中,向用户显示在cookie到期之前还有多长时间。我想您必须在cookie值中包含一些内容才能记住这一点。
<%= Request.Cookies.Get("foo").Value %>
<%= Request.Cookies.Get("foo").Expires %>