![]() |
1
3
只能对单个httpContext执行server.transfer。每个虚拟目录或应用程序都有自己的httpcontext对象,它们不知道它们共存!所以你不能这样做。 |
![]() |
2
9
首先,使用服务器传输到另一个页面。传输节省服务器资源。它不告诉浏览器重定向,而是简单地更改Web服务器上的“焦点”并传输请求。这意味着通过HTTP请求的数量不多,从而减轻了Web服务器的压力,使应用程序运行得更快。 但是要注意:因为“传输”过程只能在服务器上运行的那些站点上工作,所以不能使用服务器。传输将用户发送到外部站点。只有响应。重定向可以做到这一点。 其次,server.transfer在浏览器中维护原始URL。这确实有助于简化数据输入技术,尽管在调试时可能会造成混淆。 来自: Server.Transfer vs. Response.Redirect 所以,简而言之:response.redirect只是告诉浏览器访问另一个页面。transfer有助于减少服务器请求,保持URL的一致性,并通过一点bug攻击,允许您传输查询字符串和表单变量。
|
![]() |
3
5
server.transfer()只能在一个Web应用程序中工作。 通过传输,请求的“处理”在内部(到Web服务器/应用程序)传递到另一个页面,因此请求对象保持不变。这意味着处理需要保持在WebApplication中。 如果您想让处理继续在另一个Web应用程序上进行,您将需要一个新的请求。这意味着您需要让浏览器发出另一个请求,所以您需要一个response.redirect。 |
![]() |
4
1
|
![]() |
5
0
会话不在服务器之间共享,因此这将是一个大问题。 |