ASP.NET:请求cookie对于域名为null?

7 asp.net cookies httprequest

当我检查我的HttpContext.Current.Request.Cookies集合时,我的一些cookie对于其Domain成员为null.

域名为何/何时为空?

mat*_*net 9

域属性仅用于设置cookie.显然,如果您在请求中阅读cookie,则客户端浏览器会认为该域名与您的站点匹配得恰当.


RPM*_*984 2

默认情况下,Cookie 与当前域关联。

所以如果在现场

www.foo.com

然后您执行以下操作:

HttpCookie appCookie = new HttpCookie("AppCookie");
appCookie.Value = "written " + DateTime.Now.ToString();
appCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(appCookie);
Run Code Online (Sandbox Code Playgroud)

该域将是

www.foo.com

但是,您可以通过设置域的范围来覆盖此功能:

Response.Cookies["AppCookie"].Domain = "bar.foo.com";
Run Code Online (Sandbox Code Playgroud)

然后,该 cookie 将仅适用于该特定子域中的请求。

当然,您可以将域设置为 NULL,但我无法想象这会有用的场景。

检查您如何创建 cookie。

参考:http ://msdn.microsoft.com/en-us/library/ms178194.aspx

  • 您的答案是关于设置cookie。他的问题是关于(在服务器上)从请求中读取 cookie。 (5认同)