J'ai l'exception CompositionException avec ce message: "La ComposablePart de type 'SomeService' ne peut pas être recomposée car elle est dans un état invalide, elle ne peut être recomposée que si elle a déjà été entièrement prévisualisée ou composée."MEF CompositionException
Exception est lancée par ce code:
public class SomeService : ISomeService
{
[Import(typeof(ISomeType))]
public ISomeType SomeType { get; set; }
public SomeService()
{
Container.ComposeParts(this);
}
}
mais tout va bien avec ceci:
public class SomeService : ISomeService
{
[Import(typeof(ISomeType))]
public ISomeType SomeType { get; set; }
public SomeService()
{
this.SomeType = Container.GetExportedValue<ISomeType>();
}
}
J'ai ce code "Container.ComposeParts (this)" dans d'autres endroits et il fonctionne, mais ici ce n'est pas le cas.
Je n'ai rien trouvé d'intéressant après avoir recherché sur Google "ne peut pas être recomposé car il est dans un état invalide".
Que signifie ce message? Merci!
Peut-être avez-vous raison. J'héberge un service wcf avec le service Windows. Les deux services utilisent une instance de Container. Je vais essayer de régler ça plus tard. Pour l'instant, Container.GetExportedValue est suffisant. – Serhiy
Si c'est le cas, assurez-vous que le conteneur est créé avec isThreadSafe = true – hammett