【发布时间】:2011-10-17 03:57:05
【问题描述】:
什么时候应该在 Asp.net 中使用 server.Transfer() 和 Response.Redirect() ?
【问题讨论】:
标签: asp.net
什么时候应该在 Asp.net 中使用 server.Transfer() 和 Response.Redirect() ?
【问题讨论】:
标签: asp.net
阅读博文 - Response.Redirect vs Server.Transfer by haacked 和 Server.Transfer vs. Response.Redirect by Jon Galloway。
【讨论】:
Response.Redirect 只是告诉浏览器访问另一个页面。
Server.Transfer 有助于减少服务器请求,保持 URL 不变,并允许您传输查询字符串和表单变量
Response.Redirect 只是向浏览器发送一条消息,告诉它移动到另一个页面。
Server.Transfer 节省服务器资源。它不是告诉浏览器重定向,而是简单地改变 Web 服务器上的“焦点”并传输请求。
因此可以减轻您的 Web 服务器的压力并使您的应用程序运行得更快。
无法使用 Server.Transfer 将用户发送到外部站点。只有 Response.Redirect 可以做到这一点
Server.Transfer 在浏览器中维护原始 URL。这确实有助于简化数据输入技术,尽管在调试时可能会造成混乱
Server.Transfer 方法还有第二个参数——“preserveForm”。如果您将此设置为 True,则使用诸如 Server.Transfer("WebForm2.aspx", True) 之类的语句,现有的查询字符串和任何表单变量仍可用于您要转移到的页面。
所以,简而言之:Response.Redirect 只是告诉浏览器访问另一个页面。 Server.Transfer 有助于减少服务器请求,保持 URL 不变,并允许您传输查询字符串和表单变量。
http://www.thedevheaven.com/2012/05/responseredirect-vs-servertransfer.html
【讨论】: