如果您有两个应用程序驻留在同一台服务器上,您是否可以使用Server.Transfer在不同的AppDomain/Application中加载页面?Server.Transfer是否可以跨AppDomains/Web应用程序使用?
我的猜测是否定的,因为Server.Transfer()复制HttpContext.Items等等。要在AppDomain之间复制这些数据,会导致线程和内存共享问题在世界范围内严格执行线程隔离。
想法?
如果您有两个应用程序驻留在同一台服务器上,您是否可以使用Server.Transfer在不同的AppDomain/Application中加载页面?Server.Transfer是否可以跨AppDomains/Web应用程序使用?
我的猜测是否定的,因为Server.Transfer()复制HttpContext.Items等等。要在AppDomain之间复制这些数据,会导致线程和内存共享问题在世界范围内严格执行线程隔离。
想法?
不,这是不可能的。
Server.Transfer
和Server.Execute
不能在这些情况下使用。但是,它不会复制HttpContext.Items
。它没有被复制。重复使用相同的HttpContext
。
您无法跨Web应用使用Server.Transfer()。原因在于它实际上只是改变了HttpHandler将要返回的页面,而不是完成请求并创建一个新页面。它会导致额外的浏览器访问,但Response.Redirect()是真正的方法。
这很好知道。谢谢! – 2008-12-18 19:46:06