带URL参数的网站首次访问失效,二次访问正常的问题排查求助
第三方浏览器带参数首次访问异常排查求助
遇到两种第三方浏览器带参数访问网站页面的异常:首次访问失效,第二次及之后访问均正常,具体案例如下:
- 博客链接场景:邮件发送的链接为
http://jimtellier.com/BlogJT1?pid=8,本应直接跳转至博客第8条内容,但首次访问会跳转到default.aspx页面,二次访问恢复正常(即使关闭浏览器后重试也如此)。 - 注册验证场景:验证链接为
http://jimtellier.com/Login?id=2344a44ea3dd278f,其中id为验证密钥,首次点击链接验证失败,后续重试可正常完成验证。
两种场景均在 Page_Load 方法中通过 Request["pid"] 或 Request["id"] 获取参数,核心逻辑代码如下:
protected void Page_Load(object sender, EventArgs e) { var accesscode = Request["id"]; if (accesscode != null && accesscode != "") { UserAccount uacct = null; if (ValidateUser(accesscode, ref uacct)) { LoginUser(uacct, Context); Response.Redirect("BlogJT1.aspx"); } else OutputLabel.Text = "Validation key expired. Please retry sign-up!"; } ... etc. }
目前排查困境:二次及之后访问正常,Page_Load 逻辑看似无问题。VS调试时,先打开default.aspx再访问带参数链接可正常工作,调试难度大。
补充信息:
- 即使IIS已缓存网站实例(其他浏览器持续访问),症状仍存在;
- 首次访问后不关闭浏览器,再次点击邮件链接也可正常访问。
无法理解为何请求Login.aspx或BlogJT1.aspx却跳转到default.aspx,恳请提供排查思路!
内容的提问来源于stack exchange,提问作者Jim
相关产品推荐
相关产品推荐

