Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.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# 从HttpResponse检索cookie_C#_Asp.net_Asp.net Mvc_Cookies - Fatal编程技术网

C# 从HttpResponse检索cookie

C# 从HttpResponse检索cookie,c#,asp.net,asp.net-mvc,cookies,C#,Asp.net,Asp.net Mvc,Cookies,我有一个通过Ajax调用的控制器操作,其中我设置了一个cookie,如下所示: Response.Cookies["Notifications"].Value = "false"; Response.Cookies["Notifications"].Expires = DateTime.Now.AddYears(1); if(Request.Cookies["Notifications"] != null && Request.Cookies["Notificatio

我有一个通过Ajax调用的控制器操作,其中我设置了一个cookie,如下所示:

Response.Cookies["Notifications"].Value = "false";
Response.Cookies["Notifications"].Expires = DateTime.Now.AddYears(1);
if(Request.Cookies["Notifications"] != null && 
    Request.Cookies["Notifications"].Value =="false")
//Do something here
在另一个控制器操作中,我检查此cookie,如下所示:

Response.Cookies["Notifications"].Value = "false";
Response.Cookies["Notifications"].Expires = DateTime.Now.AddYears(1);
if(Request.Cookies["Notifications"] != null && 
    Request.Cookies["Notifications"].Value =="false")
//Do something here

问题是Request.Cookies[“Notifications”]始终为空。我已经验证了cookie是通过FireBug设置的。我正在通过visual studio的web内置web服务器进行测试。

在FireBug中,您是否看到请求中返回的cookie?您还可以查看原始请求,看看它是否真的存在

只是一个想法/建议。。。您可以启动Fiddler来嗅探实际的http流量,并查看Cookie是如何以及是否在http头中传输的。问题在于,我还设置了以下内容:

Response.Cookies["Notifications"].Secure = true;

当然,cookie没有被发送,因为我没有使用Https。

您的服务器总是在同一个端口上启动吗?第二页的域是否与cookie的域匹配?域显示为“localhost”,是的,它在同一个域上,但不,服务器不总是在同一个端口上启动。但是,每个请求发出时都在同一端口上。这是一个很好的观点。我检查了一下,没有看到cookies与请求一起发送回来。这是什么原因造成的?