【问题标题】:Chrome Cookie problemChrome Cookie 问题
【发布时间】:2010-12-30 14:33:01
【问题描述】:

我通过“注销”按钮在注销页面内运行以下 c# 代码。 它适用于ie和ff,但不适用于chrome。问题是chrome不会设置cookie。该值根本不会出现在响应标题中。我在网上阅读了一些类似问题的报告,但没有提出适当的解决方案。任何帮助将非常感激。感谢您的时间。以下是页面中运行的代码:

public class LogOut : ExtendedControlBase
    {
        void RemoveCookie(string CookieName)
        {
            HttpCookie myCookie = new HttpCookie(CookieName);
            myCookie.Expires = DateTime.Now.AddDays(-100);
            Response.Cookies.Add(myCookie);
        }
        protected override void  OnInit(EventArgs e)
        {
            Session.Remove("SiteUserEmail");
            Session.Remove("SiteUserName");
            Session.Remove("siteUserId");
            Session.Remove("siteUserGroupId");
            RemoveCookie("u");
            Response.StatusCode = 301;
            Response.AddHeader("Location", "/");
            Response.Flush();
            Response.End();
        }   
    }

【问题讨论】:

  • 问题:您应该使用内置的会员服务提供商吗?

标签: c# google-chrome


【解决方案1】:

一些建议:

尝试使用Fiddler 之类的内容来查看到底发生了什么。我的猜测实际上是“注销”链接无法按预期在 Chrome 上运行。

尝试手动设置 cookie 标头:

Response.AddHeader("Set-Cookie", "u=; expires=Fri, 31-Dec-1999 23:59:59 GMT"); 

尝试设置测试头来检查它们是否真的在线:

Response.AddHeader("X-Testing", "Testing"); 

注意:我没试过。我假设设置任意标题可以在 Asp.Net 中工作。

【讨论】:

    【解决方案2】:

    我的猜测是这是由于将到期日期设置在过去。你试过删除myCookie.Expires = DateTime.Now.AddDays(-100);吗?我相信它仍将被视为没有该值的会话 cookie,因为将来不会设置到期日期。

    【讨论】:

    • 正确。这只是 chrome 的问题。(ff 和 ie 确实将其视为过期 cookie)。我正在寻找 chrome.thanks 的替代品。
    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-07-13
    相关资源
    最近更新 更多