J'essaye d'implémenter un framework de plugin en C# où chaque plugin est chargé dans son propre AppDomain
. J'ai des problèmes où il semble que la couche à distance entre AppDomains
est garbage collecter mes instances de plugin. Chaque plugin hérite de cette classe:Objets dans AppDomain récupérés Garbage
public class PluginRefObject : MarshalByRefObject{
public override object InitializeLifetimeService() {
return null;
}
}
Ce que je pensais donnerait à l'objet une durée de vie infinie. Cependant, les plug-ins semblent travailler pour un peu et puis tout à coup je reçois un RemotingException
avec un message d'erreur:
Object 'longhexstring.rem' has been disconnected or does not exist at the server
qui, de recherche sur Google, je crois signifie que le GC a supprimé mon objet distant. Dois-je faire autre chose pour garder cet objet en vie?
Réponse possible: http://stackoverflow.com/a/6339701/1186321 – denvercoder9
Oui, j'ai vu celui-là. Les liens sont mauvais et les fichiers .chm affichés ne seront pas ouverts. – spectacularbob
Excuses; Je crois que cela pourrait être utile: https://msdn.microsoft.com/en-us/library/23bk23zc(v=vs.85).aspx – denvercoder9