C# ASP.NET MVC cookies未保存?

C# ASP.NET MVC cookies未保存?,c#,asp.net-mvc,cookies,C#,Asp.net Mvc,Cookies,为什么这个cookie不保存在my global.asax的Session\u Start方法中 //new anon user: var authCookie = new HttpCookie("user-id", string.Format("{0}-{1}", regiserAccountResponse.UserName, regiserAccountResponse.Key)) { Expires = DateTime.MaxValue, Domain = "doma

为什么这个cookie不保存在my global.asax的Session\u Start方法中

//new anon user:

var authCookie = new HttpCookie("user-id", string.Format("{0}-{1}", regiserAccountResponse.UserName, regiserAccountResponse.Key))
{
    Expires = DateTime.MaxValue,
    Domain = "domain.com",
    Secure = true,
    HttpOnly = true
};

//create the new users cookie - there's no need to call RegisterNewUserSession as this is done in the same call
HttpContext.Current.Response.SetCookie(authCookie);

如果要将cookie限制在网站的特定部分,只需指定域。只有当cookie在正确的范围内时,才会将其包含在请求中

通过将域设置为“Domain.com”,您的意思是cookie将只对“Domain.com”可用,因此您不会从localhost(或Domain.com以外的任何其他域)检测到它


您还将注意到,如果您尝试从您自己的域以外的域向浏览器发送cookie,浏览器将对其进行封存。

iOS现在非常希望尽快封存无域cookie,因此,尽管公认的答案是“如果您想将cookie限制在网站的特定部分,您只需指定域“-我不认为这是真的。您需要设置一个域

以下代码段将从本地到生产:

    private static HttpCookie CreateCookie(string name, string value)
    {
        return new HttpCookie(name, value) { Path = "/", Expires = DateTime.UtcNow.AddYears(1), Domain = Request.Url.Host };
    }

您如何检测它是否已实际保存?你有没有用Wireshark看看它是否在下降?您是否已修复域和安全位以反映实际情况?在准备部署之前是否应将域留空?或者在我部署之前它应该是本地主机?请尝试完全删除它。你不是真的在为“domain.com”服务吧?我不能说我对Cookie了解很多,但这些设置看起来肯定是错误的…谢谢jon-remd的安全和域道具,它现在似乎工作了-如果你把它添加到一个答案中,我会把它标记为正确:)谢谢steve!都是对的-看起来它现在正在工作,所以在大胡同里一切都很好…:)宝贝,宝贝。希望新工作做得好。