我有一个利用 cookie 来支持准向导的应用程序(即,它是一组相互导航的页面,它们必须以特定顺序出现以进行注册)。
trọng tải Logon.aspx
页面时 - 默认页面 - 浏览器 cookie 看起来正确。
有一个 cookie,它具有正确的值。这可确保下一页(注册协议(protocol))知道它是从 Logon.aspx
页面加载的。但是,当我到达该页面时,浏览器 cookie 看起来大不相同:
现在我们有两个相同的 cookie。
这có vẻ不会导致任何实际问题 - 但我不能确定它不会。那么,让我向您展示我用来设置 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()))
{
trở lại;
}
response.Redirect("Logon.aspx");
}
那么,到底为什么要复制这个 cookie?它似乎永远不会创建超过两个。
我建议您执行以下操作之一。
首先,了解最新情况并重试。
如果它仍然显示 2 个具有该名称的 cookie,则获取 firebug和/或 fiddler并以这种方式看待它。如果我不得不猜测,我会说要么是一瞥有问题,要么是你对结果的解释有问题。也许 glimpse 显示了处理请求之前和之后存在的 cookie?
第三种选择是简单地从您自己的 .net 代码发出 cookie 集合。像这样的东西:
foreach(HttpCookie cookie in request.Cookies) {
Response.Write(String.Format("{0} = {1}", cookie.Name, cookie.Value));
}
看看会发生什么。
Tôi là một lập trình viên xuất sắc, rất giỏi!