Je suis en train de commencer avec IoC, j'ai un projet MVC dans lequel j'utilise subsonic, j'essaie d'injecter subpositic simplerepository à mes contrôleurs mais je reçois cette erreur: StructureMap code d'exception: 205 manquant propriété demandé instance "connectionStringName" pour InstanceKey "60b735fb-0a7f-4eb4-be04-635f6f32233d"Injection de la classe Subsonic SimpleRepository au contrôleur
Voici ma classe de registre:
public class RepositoryRegistry : Registry
{
protected override void configure()
{
ForRequestedType<IRepository>().TheDefault.Is.OfConcreteType(typeof(SimpleRepository));
}
}
Et voici mon usine de contrôleur:
public class StoreControllerFactory: DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
IController result = null;
if (controllerType!=null)
{
result = ObjectFactory.GetInstance(controllerType) as Controller;
}
return result;
}
}
Et voici comment configurer StructureMap:
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
ObjectFactory.Initialize(x=>
{
x.AddRegistry(new RepositoryRegistry());
});
ControllerBuilder.Current.SetControllerFactory(new StoreControllerFactory());
var sparkSettings = new SparkSettings().SetDebug(true).AddNamespace("System.Web.Mvc.Html");
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new SparkViewFactory(sparkSettings));
}
Toute aide serait appréciée! Merci!
Pouvez-vous ajouter du code pour votre SimpleRepository? Je pense qu'il y a un problème avec cette classe (exactement avec son paramètre constructeur nommé connectionStringName). –