Ce sujet n'a pas encore été évalué - Évaluez ce sujet

Scénarios d'assemblys dynamiques avec émission de réflexion

Mise à jour : novembre 2007

L'émission de réflexion prend en charge la création de modules dynamiques définis dans des assemblys dynamiques. Un module dynamique créé dans un assembly dynamique peut être transitoire ou persistable.

Les assemblys peuvent référencer des types définis dans un autre assembly. Un assembly dynamique transitoire peut référencer en toute sécurité des types définis dans un autre assembly dynamique transitoire, un assembly dynamique persistable ou un assembly statique. Cependant, le Common Language Runtime ne permet pas à un module dynamique persistable de référencer un type défini dans un module dynamique transitoire. En effet, lorsque le module dynamique rendu persistant est chargé après avoir été enregistré sur le disque, le runtime ne peut pas résoudre les références à des types définis dans le module dynamique transitoire.

Certains scénarios requièrent qu'un assembly dynamique soit créé et exécuté dans un domaine d'application distant. L'émission de réflexion ne permet pas à un assembly dynamique d'être émis directement vers un domaine d'application distant. La solution consiste à émettre l'assembly dynamique dans le domaine d'application en cours, d'enregistrer l'assembly dynamique émis sur le disque, puis de charger l'assembly dynamique dans le domaine d'application distant.

Les assemblys dynamiques peuvent être créés en utilisant l'un des modes d'accès suivants :

  • Run

    L'assembly dynamique représenté par un AssemblyBuilder est transitoire. L'assembly dynamique peut seulement être utilisé pour exécuter le code émis.

  • Save

    L'assembly dynamique représenté par un AssemblyBuilder est persistable mais ne peut pas être exécuté tant que le fichier exécutable portable (PE, Portable Executable) enregistré n'est pas chargé à partir du disque.

  • RunAndSave

    L'assembly dynamique représenté par un AssemblyBuilder est persistable mais peut aussi être exécuté avant et/ou après l'enregistrement de l'assembly sur le disque.

Le mode d'accès doit être spécifié lorsque l'assembly dynamique est défini et ne peut pas être modifié par la suite. Le runtime utilise le mode d'accès d'un assembly dynamique pour optimiser la représentation interne de l'assembly.

Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.