如果有两个应用程序驻留在同一台服务器上,您可以使用Server.Transfer在不同的AppDomain / Application中加载页面吗?
我的猜测是否定的,因为Server.Transfer()复制了HttpContext.Items等等。要在AppDomains之间复制此数据,将导致线程隔离严格执行,导致线程和内存共享问题。
思想?
答案 0 :(得分:3)
不,这是不可能的。
Server.Transfer
和Server.Execute
不能在这些情况下使用。
但是,它不会复制HttpContext.Items
。它没有被复制。重复使用相同的HttpContext
。
答案 1 :(得分:2)
您不能跨Web应用使用Server.Transfer()。原因是它实际上只是更改了HttpHandler要返回的页面,而不是完成请求并创建一个新请求。它会导致额外的浏览器访问,但Response.Redirect()确实是这样做的。