我有一个利用cookie 来支持准向导的应用程序(即,它是一组相互导航到的页面,它们必须以特定的顺序出现,以便注册)。
当Logon.aspx
页面加载时 - 默认页面 - 浏览器 cookie 看起来是正确的。
有一个 cookie,它具有正确的价值。这可确保作为注册协议的下一页知道它是从该Logon.aspx
页面加载的。但是,当我到达该页面时,浏览器的 cookie 看起来有很大不同:
现在我们有两个相同的cookie。
这似乎不会导致任何真正的问题 - 但我不能确定它不会。所以,让我向您展示我用来设置 cookie 的代码(因为它可能有问题):
if (!this.IsPostBack)
{
Utility.HandleReferrer(Request, Response, "Logon.aspx");
Response.Cookies["lastpage"].Value = "Enroll.aspx";
}
该HandleReferrer
方法如下所示:
static public void HandleReferrer(HttpRequest request, HttpResponse response, string expectedReferrer)
{
var cookie = request.Cookies["lastpage"];
if (cookie != null && cookie.Value.ToLower().Contains(expectedReferrer.ToLower()))
{
return;
}
response.Redirect("Logon.aspx");
}
那么,为什么它会复制这个 cookie?它似乎永远不会创造超过两个。