ASP.NET性能:Server.Transfer(..)vs Response.Redirect(..)

时间:2011-10-17 03:57:05

标签: asp.net

什么时候应该在Asp.net中使用server.Transfer()和Response.Redirect()?

2 个答案:

答案 0 :(得分:2)

阅读博客帖子 - Response.Redirect vs Server.Transfer由Jon Galloway劫持和Server.Transfer vs. Response.Redirect

答案 1 :(得分:0)

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