Server.Transfer可以跨AppDomains / Web应用程序工作吗?

时间:2008-12-18 19:32:57

标签: asp.net

如果有两个应用程序驻留在同一台服务器上,您可以使用Server.Transfer在不同的AppDomain / Application中加载页面吗?

我的猜测是否定的,因为Server.Transfer()复制了HttpContext.Items等等。要在AppDomains之间复制此数据,将导致线程隔离严格执行,导致线程和内存共享问题。

思想?

2 个答案:

答案 0 :(得分:3)

不,这是不可能的。

Server.TransferServer.Execute不能在这些情况下使用。

但是,它不会复制HttpContext.Items。它没有被复制。重复使用相同的HttpContext

答案 1 :(得分:2)

您不能跨Web应用使用Server.Transfer()。原因是它实际上只是更改了HttpHandler要返回的页面,而不是完成请求并创建一个新请求。它会导致额外的浏览器访问,但Response.Redirect()确实是这样做的。

Server.Transfer vs Response.Redirect