[asp.net]不能设置 cookie 的行动

发布时间: 2016/11/12 2:01:45
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有ASP.NET MVC应用程序中承载ASP.NET WebApi应用在 localhostlocalhost/api 和我想当一个行动的ASP.NET WebApi调用设置 cookie。

我试图这样设置我的 cookie:

response.Headers.AddCookies(new[]
                                        {
                                            new CookieHeaderValue("test", "asd")
                                            {
                                                Expires = DateTime.Now.AddDays(1),
                                                Domain = Request.RequestUri.Host,
                                                Path = "/",
                                                HttpOnly = false
                                            }
                                        });

我明白在响应标头︰

Set-Cookie:test=asd; expires=Thu, 30 Oct 2014 09:53:35 GMT; domain=localhost; path=/

但该 cookie 不创建由于某种原因。

只是为了测试目的我试图从ASP.NET MVC应用程序中那样设置 cookie:

HttpContext.Response.Cookies.Add(new HttpCookie("test", "asd")
            {
                Expires = DateTime.Now.AddDays(1),
                Domain = HttpContext.Request.Url.Host,
                Path = "/",
                HttpOnly = false
            });

响应标头包含︰

Set-Cookie:test=asd; domain=localhost; expires=Thu, 30-Oct-2014 09:56:08 GMT; path=/

但仍然看不到该 cookie。我做错了怎么能因此忽略了这些标头吗?然而,其他饼干做工精细 (例如。ASPXAUTH)。

解决方法 1:

你不能在本地主机,至少没有与铬上设置 cookie。

你需要至少两个部分的名称,例如 mytestsite.local,或您需要设置

Domain = null

在 C# 代码。

官方微信
官方QQ群
31647020