HTTPServerUtility.Transfer在asp.net中的网站性能上比Response.Redirect更有用吗?

sik*_*der 5 .net c# asp.net performance scalability

现在我正在阅读.net网站的性能和可扩展性.

我阅读了很多关于性能和可伸缩性的博客文章和微软书.

在上一篇博客中,链接到这里.

在这篇博客中,第6篇谈论
"使用HTTPServerUtility.Transfer而不是Response.Redirect".

它在网站性能方面是否更有用,在博客中更有用,

" 它们只应在您将人员转移到另一个物理Web服务器时使用.对于服务器内的任何传输,请使用.transfer!您将节省大量不必要的HTTP请求. "

任何人都可以帮助我在性能方面比response.redirect更有用吗?

And*_*ber 6

你应该只是一味地开始使用Server.Transfer替代的Response.Redirect; 它们不仅仅是替代品.

Server.Transfer有一个页面'占用'执行当前的一个离开,给出它的输出.这将保存重定向步骤 - 重定向302 - Moved向客户端发出响应,并加载新URL,然后浏览器发出新请求.这就是你使用时被"保存"的东西Server.Transfer.

但你也可能失去一些东西; 比如,您的用户在尝试为加载了Server.Transfer相关内容的页面添加书签时会感到困惑,并且会发现一些完全出乎意料的内容,因为这些内容Server.Transfer并未考虑到这种可能性.

您还需要做一些工作,以确保将您的请求值正确地编组到"新"页面; 查询字符串,表单值和服务器端控件的值.

Server.Transfer当你对ASP.NET管道和HTTP协议更加高级和知识时,我会考虑一些事情,基本上...当你想要使用它时,你根本没有任何问题.


编辑:还; 我不会把你在网站上看到的任何内容都过分认真.作者说你应该避免服务器端验证,而只是在客户端上进行验证.这一点,以及他们自己的许多建议显示对ASP.NET/HTTP的知识非常有限.不要让那样的人让你花太多时间在一些如此不重要的事情上.