2010-07-05 9 views
1

Dans mon application de formulaires de fenêtre, je crée un Appdomain say sandBox. Dans ce bac à sable, j'exécute du code Say TestMethod de la classe TestAppdomain. Cette classe est dans Test.dll qui n'est pas chargée dans le domaineApp actuel (Default appdomain).Comment appDomain fournit Isolation

Maintenant, lors de l'exécution de TestMethod, une exception se produit, alors je veux que le domaine sandbox soit déchargé et comme AppDOmain fournit Isolotion, mon domaine d'application par défaut ne devrait pas être affecté. Mais comme je lis sur internet, je suppose que ce n'est pas possible. Mais quelqu'un pourrait me donner un pointeur sur la façon de le faire.

Merci à l'avance

Vikram

+0

Pouvez-vous préciser ce que vous entendez par « je veux que le domaine sandbox à télécharger »? – Basic

+0

Opps .. Je voulais dire "Domaine Sandbox à décharger" et non téléchargé. –

+0

Rundown des avantages de l'isolement des domaines d'application http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx – Ben

Répondre

1

Oui cela est certainement possible, et en fait, il est tout le but de AppDomains. Une recherche rapide sur Google se présente une bonne ressource:

http://geekswithblogs.net/elinden/archive/2008/09/12/application-processing-isolation-welcome-the-appdomain-object.aspx

lien ci-dessus est cassé, celui-ci donne un aperçu de AppDomain partage.

http://geekswithblogs.net/akraus1/archive/2012/07/25/150301.aspx

Vous pouvez également regarder dans le Managed Add-In-cadre (CRG):

+0

Oui AppDomains ne Isolote. Mais s'il y a une exception dans un autre domaine, cela supprime l'application. Je veux savoir comment gérer une exception dans un domaine, puis la décharger sans affecter mon application de base. –

+2

Placez un gestionnaire try/catch autour de l'appel de l'AppDomain par défaut dans l'AppDomain secondaire. –