J'utilise la bibliothèque MvcContrib avec Castle Windsor et j'ai un problème avec la définition d'un paramètre lors de l'enregistrement d'un composant.Composant de configuration MvcContrib Windsor avec le paramètre
J'ai les interfaces suivantes pour les classes qui enveloppent un DataContext. Je veux pour pouvoir spécifier quel DataContext utiliser pour différents services car Je me connecte à plusieurs bases de données pour récupérer des données.
public interface IDataContext
{
DataContext Context { get; }
}
public interface IReportingDC : IDataContext
{
}
public class Repository<T> : IRepository<T> where T : class
{
public IDataContext DC {get; ensemble; }
public Repository(IDataContext dataContext)
{
DC = dataContext;
}
}
Voici les lignes d'enregistrement de mes Global.asax.cs.
container.AddComponentLifeStyle<IDataContext, MainDataContext>(Castle.Core.LifestyleType.PerWebRequest);
container.AddComponentLifeStyle<IReportingDC, ReportingDC>(Castle.Core.LifestyleType.PerWebRequest);
container.Register(Component.For<IRepository<ReportingTotals>>()
.ImplementedBy<Repository<ReportingTotals>>()
.Parameters(Parameter.ForKey("dataContext").Eq("IReportingDC"))
.LifeStyle.PerWebRequest
);
Lorsque j'essaie de charger la page, j'obtiens l'erreur suivante.
"Clé non valide pour le paramètre datacontext Ainsi, le noyau n'a pas pu override la dépendance de service"
veuillez corriger le formatage du code –