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