Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Chrome Cookie问题_C#_Google Chrome - Fatal编程技术网

C# Chrome Cookie问题

C# Chrome Cookie问题,c#,google-chrome,C#,Google Chrome,我在注销页面中通过“注销”按钮运行以下c#代码。 它适用于ie和ff,但不适用于chrome。问题是chrome不会设置cookie。该值根本不会出现在Response标头中。我在网上读过一些关于类似问题的报道,但没有提出适当的解决方案。任何帮助都将不胜感激。谢谢你抽出时间。以下是在页面中运行的代码: public class LogOut : ExtendedControlBase { void RemoveCookie(string CookieName)

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

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();
        }   
    }

我猜这是因为在过去设定了过期日期。您是否尝试过删除
mycokie.Expires=DateTime.Now.AddDays(-100)?我相信它仍然会被视为没有该值的会话cookie,因为将来不会设置过期日期。

我猜这是因为在过去设置了过期日期。您是否尝试过删除
mycokie.Expires=DateTime.Now.AddDays(-100)?我相信它仍然会被视为没有该值的会话cookie,因为将来不会设置过期日期。

一些建议:

尝试使用类似的方法,看看到底发生了什么。我猜“注销”链接在Chrome上并不像预期的那样有效

尝试手动设置cookie标头:

Response.AddHeader("Set-Cookie", "u=; expires=Fri, 31-Dec-1999 23:59:59 GMT"); 
尝试设置测试头以检查它们是否确实在线路上:

Response.AddHeader("X-Testing", "Testing"); 
注意:我还没有试过。我假设在Asp.Net中可以设置任意标题。

一些建议:

尝试使用类似的方法,看看到底发生了什么。我猜“注销”链接在Chrome上并不像预期的那样有效

尝试手动设置cookie标头:

Response.AddHeader("Set-Cookie", "u=; expires=Fri, 31-Dec-1999 23:59:59 GMT"); 
尝试设置测试头以检查它们是否确实在线路上:

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

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

问题:您应该使用内置的成员资格提供程序吗?问题:您应该使用内置的成员资格提供程序吗?正确。这只是chrome的问题。(ff和ie确实将其视为过期cookie)。我正在寻找chrome的替代品。再次感谢。正确。这只是chrome的问题。(ff和ie确实将其视为过期cookie)。我正在寻找chrome的替代品。再次感谢。