2008-12-18 7 views
1

Si vous avez deux applications résidant sur le même serveur, pouvez-vous utiliser Server.Transfer pour charger une page dans un AppDomain/Application différent?Est-ce que Server.Transfer fonctionnera sur AppDomains/Web Applications?

Ma supposition est non, car Server.Transfer() copie HttpContext.Items, entre autres choses. Pour copier ces données entre AppDomains, cela causerait des problèmes de threading et de partage de mémoire dans un monde où l'isolation des threads est strictement appliquée.

Pensées?

Répondre

3

Non, il est impossible.

Server.Transfer et Server.Execute ne peuvent pas être utilisés dans ces scénarios. Il ne copie pas cependant le HttpContext.Items. Ce n'est pas copié. Le même HttpContext est réutilisé.

+0

C'est bon à savoir. Merci! –

2

Vous ne pouvez pas utiliser Server.Transfer() sur des applications Web. La raison en est que cela ne fait que changer la page que le HttpHandler allait retourner, plutôt que de finir la requête et en faire une nouvelle. Cela provoque un voyage supplémentaire dans le navigateur, mais Response.Redirect() est vraiment le moyen de le faire.

Server.Transfer vs Response.Redirect

Questions connexes