【问题标题】:RedirectPermanent causes odd results in an ASP.NET MVC 3 applicationRedirectPermanent 在 ASP.NET MVC 3 应用程序中导致奇怪的结果
【发布时间】:2012-10-01 15:44:58
【问题描述】:

这很奇怪。可能还有其他问题,但这是交易。我正在制作一个应用程序,它只是收集信息并重定向到一个 URL,并将信息作为 URL 上的参数传递。我使用的是 ASP.NET MVC 3 (.NET 4.0) 框架,而且我以前从未需要重定向到应用程序之外的 URL。

我最初的尝试,我做到了:

return RedirectPermanent("http://www.google.com?" + qrystring);

这重定向到谷歌,但我没有看到参数。我做了一点工作并将 URL 更改为应用程序内的一个,但我仍将使用完整的 URL 而不是路由,因为我想确保值到达那里。现在,当我在本地调试应用程序并将鼠标悬停在断点上时,它会显示:

“当前不会命中断点。没有为此文档加载任何符号。”

此外,无论我在调用“RedirectPermanent”时将 URL 更改为什么,它总是会加载 Google 页面。

我已清除临时 Internet 文件历史记录并确保 ASPNET 用户可以访问该文件夹。我也关闭并重新打开了解决方案。我也尝试将“RedirectPermanent”更改为“Redirect”,但这并没有解决它。在第一次点击 RedirectPermanent 语句之前,断点在此应用程序中运行良好。

仅供参考:我正在运行 Windows XP 并且正在使用 IIS Express(ASP.NET 开发服务器)。我也在本地以调试模式运行应用程序,而不是在服务器机器上运行。 想法?

【问题讨论】:

  • 你试过一个好的旧 IISReset 吗?
  • 这是在本地开发的,所以我想它使用 IISExpress。除了单击启动应用程序时出现在系统托盘中的图标并单击“停止”按钮之外,我不确定如何重置它。不过,我已经多次完成此过程,但仍然没有解决问题。
  • 你是如何构建qrystring 变量的?里面有什么?您是否正确地对所有值进行了 url 编码?使用字符串连接来构建 url 而不是使用解析器通常是一个坏主意。
  • 几乎可以肯定它的格式很差。我在做简单的“?” + "varname=" + "varvalue&"....
  • 您是否检查过浏览器是否真的尝试访问您的应用程序或立即转到重定向 URL(即使用 Fiddler)?

标签: c# asp.net-mvc asp.net-mvc-3 redirect


【解决方案1】:

最后这还是一件相当简单的事情。

Chrome 缓存了 RedirectPermanent 网址。当其他初始化完成时,调试符号会一直加载到应用程序中。 Visual Studio 加载了我的应用程序,chrome 看到正在使用的 url 执行了重定向。

我在 chrome 中清除了我的缓存,然后一切都恢复正常了。

【讨论】:

    猜你喜欢
    • 2010-11-14
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    相关资源
    最近更新 更多