【问题标题】:Is there a performance difference between postbackurl and response.redirect?postbackurl 和 response.redirect 之间有性能差异吗?
【发布时间】:2013-02-05 15:23:30
【问题描述】:

我刚刚创建了一个需要更新的页面,其中包含多个文档。可以从页面上的菜单中选择每个文档。

我通常会将其包装在多视图 + 更新面板中,但是我还需要更新 url 以反映所选文档。

目前我已经使用不同的 postbackurl(所以没有更新面板)完成此操作,但这意味着在单击后退按钮时显示令人讨厌的“Firefox 需要重新发送...2 消息。

我可以改为从按钮事件重定向。这将具有相同的效果,但没有消息。

我的问题是 postbackurl 方法是否比重定向提供任何显着优势。我所说的优势是指性能。

任何想法将不胜感激。

【问题讨论】:

    标签: asp.net response.redirect postbackurl


    【解决方案1】:

    Response.Redirect 是一个简单的HTTP 302,因此在性能方面它可能“更快”和“更轻”。

    PostBackURL 更新表单的 Action,同时保留 ViewState 和其他 Page 对象。由于延迟增加,因此从技术上讲性能会变慢,但体积更大。

    如果你想避免重新发布,那么最容易使用 Response.Redirect。

    【讨论】:

    • 谢谢。我的想法是,情况正好相反。
    【解决方案2】:

    让我们考虑两种情况:

    • 没有postbackurl,有redirect:客户端提交表单,服务器发出重定向,客户端发出get请求到最终的url并获取内容

    • postbackurl : 客户端提交表单到 postbackurl 并获取内容

      第二种情况在性能方面更好(没有网络往返来获取和遵循重定向)

    但是重定向有一些优点,因为它发出了一个获取请求。 (没有重新加载或重新发布问题)

    无论如何,我想知道为什么你不能只使用 HyperLinkNavigateUrl 来访问你的内容。

    【讨论】:

    • 谢谢。在回答您的问题时,我使用了一个按钮,因为最初,我正在考虑使用重定向。您是正确的,因为在当前要求下,超链接可以完成这项工作。
    猜你喜欢
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2015-01-17
    • 2010-10-25
    • 2014-02-05
    • 2018-09-09
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多