2013-03-07 2 views
0

Jeez louise, j'essaie de réajuster rétro une application héritée de la peste avec SM et courir dans toutes sortes d'étrangeté. Alors je m'excuse pour toutes les questions étranges.Structuremap WhatDoIHave dit que je l'ai. Objectfactory dit que je ne sais pas

J'ai donc ce code

var whatDoIHave = ObjectFactory.Container.WhatDoIHave(); 
var validator = ObjectFactory.GetInstance<IValidator<ProfileActivityElement>>(); 

le que dois-je a ce

IValidator`1<ProfileActivityElement> (IValidator`1<ProfileActivityElement>)                                                                                                               
Scoped as: Transient 
4b774bc1-b46e-4fc1-95f4-348bb3786dc8 
Configured Instance of HSTM.HLC.BusinessLogic.Validators.ProfileActivityElememntValidator, HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral, PublicKeyToken=0ecfe41405c30fb3    
                                     29c5ff3e-73bd-44bb-9fc8-5a81fa640499                                    Configured Instance of HSTM.HLC.BusinessLogic.Validators.ProfileActivityElememntValidator, HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral, PublicKeyToken=0ecfe41405c30fb3 

le validateur obtient une erreur comme celle

StructureMap Exception Code: 202 
No Default Instance defined for PluginFamily  HSTM.HLC.BusinessLogic.IValidator`1[[HSTM.HLC.BusinessLogic.HCC.ProfileActivityElement,  HSTM.HLC.BusinessLogic, Version=13.1.28.895, Culture=neutral,  PublicKeyToken=0ecfe41405c30fb3]], HSTM.HLC.BusinessLogic, Version=13.1.28.895,  Culture=neutral, PublicKeyToken=0ecfe41405c30fb3 

C'est l'erreur complète, pas erreurs internes. Peut-être que je suis juste en train de négliger une erreur de syntaxe. Merci pour l'aide, Raif

Répondre

0

Donc le problème ici est que j'utilise ConnectImplementationsToTypesClosing() pour enregistrer mes génériques ouverts. Bizarrement, cela fonctionne très bien dans d'autres applications que j'ai, mais dans cette application, qui, comme mentionné précédemment est héritée et désordonnée, ce n'est pas le cas. En fait, il enregistre les génériques ouverts en tant que pluginLibraries mais ils ne se retrouvent pas dans les _instances du profil, donc quand vous les demandez, ils ne sont pas là. C'est pourquoi ils apparaissent dans ce que j'ai, mais pas quand je les demande.

Le correctif m'a été fourni par l'éminent Kevin M dont j'ai oublié le nom de famille. Je l'ai implémenté et hop mon application fonctionnait à nouveau.

Kevin's Fix

Merci Kevin

Questions connexes