2010-02-03 36 views
0

檢索餅乾我有一個控制器操作,我通過AJAX調用中,我設置這樣一個cookie:從HttpResponse對象

Response.Cookies["Notifications"].Value = "false"; 
Response.Cookies["Notifications"].Expires = DateTime.Now.AddYears(1); 

在另一個控制器動作,我檢查這個cookie這樣的:

if(Request.Cookies["Notifications"] != null && 
    Request.Cookies["Notifications"].Value =="false") 
//Do something here 

問題是Request.Cookies [「Notifications」]始終爲空。我已驗證cookie是通過FireBug進行設置的。我通過在web服務器中構建的visual studio的web來測試它。

+1

您的服務器是否始終在同一個端口上啓動? – 2010-02-03 00:40:02

+0

第二頁的域是否與cookie的域匹配? – 2010-02-03 01:43:51

+0

該域名顯示爲「本地主機」,是的,它位於同一個域中,但沒有服務器不會始終在同一端口上啓動。但是,每個請求在製作時都在同一個端口上。 – Micah 2010-02-03 01:55:47

回答

1

的問題是與事實,我也設置這樣的:

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

當然cookie不會被因爲我沒有使用HTTPS發送。

0

在FireBug中,您是否看到請求中發回的cookie?你也可以看看原始請求,看看它是否真的存在

+0

這是一個很好的觀點。我查了一下,但沒有看到請求發回的cookies。這會導致什麼? – Micah 2010-02-03 02:04:58

0

只是一個想法/建議...你可以開火提琴手嗅探實際的http流量,看看如何以及如果Cookie正在傳輸HTTP頭

相關問題