Articles of Ninject

Utilisation des valeurs de paramètre par défaut avec Ninject 3.0

J’ai une classe avec un constructeur ayant un paramètre avec une valeur par défaut. Avec Ninject 2.2, il honorerait l’atsortingbut [Optional] et fonctionnerait correctement sans aucune liaison définie avec un constructeur déclaré comme suit : public EmployeeValidator([Optional] IValidator personNameValidator = null) Depuis la mise à niveau vers Ninject 3.0, la construction de cet object échoue […]

Utilisation de l’injection de propriété au lieu de l’injection de constructeur

En résumé, j’essaie d’utiliser ELMAH avec MVC 2 et Ninject, et je dois utiliser des constructeurs sans paramètre. J’ai créé un post initial à ce sujet ici: Utilisation d’un constructeur de contrôleur sans paramètre avec Ninject? On m’a conseillé d’utiliser l’injection de propriété au lieu de l’injection de constructeur. Alors je suis passé de ceci: […]

Syntaxe de Ninject pour «Bind» avec plusieurs arguments

Comment puis-je utiliser plusieurs parameters dans la syntaxe Ninject comme suit? Bind() .To() .WithConstructorArgument(“connectionSsortingng”, ConfigurationManager.ConnectionSsortingngs[“MyDb”].ConnectionSsortingng ); Que se passe-t-il si plusieurs parameters doivent être transmis?

HttpContext.Current null dans la tâche async

J’ai une méthode qui utilise un référentiel ( userRepo ): public override Task CreateLocalUserAsync(IUser user, ssortingng password, CancellationToken cancellationToken) { var task = new Task(() => { TUserEntity newUser = new TUserEntity { Id = user.Id, UserName = user.UserName, Password = password }; userRepo.Save(newUser).Flush(); return new IdentityResult(true); }, cancellationToken); task.Start(); return task; } L’object userRepo […]

Quelle est la bonne approche pour tester les liaisons Ninject?

Nous utilisons ninject dans tous nos projets et, comme vous le savez sûrement, il devient parfois difficile de vérifier si le kernel est capable de résoudre tous les types au moment de l’exécution, car parfois le contrôle est perdu lorsque ) est haut. Donc, ce que je demande ici, c’est comment puis-je savoir que mon […]

Comment utiliser les liaisons nommées Ninject avec DependencyResolver et PropertyInjection

Je réalise que l’injection par le constructeur est préférable, mais je suis curieux de savoir comment utiliser les «liaisons nommées» contextuelles de Ninject avec une autre forme d’injection. En particulier, comment puis-je procéder comme suit lorsque j’utilise DependencyResolver ou une injection de propriété. public MyService([Named(“Alpha”)] IRepository repository) { this.repository = repository; }

Remplacer Ninject par Simple Injector

J’ai utilisé Ninject pour mon application. Ninject est très simple et facile à apprendre, mais c’est assez lent et j’essaie d’utiliser un autre IoC pour comparer si c’est plus rapide qu’avec Ninject. Il y a beaucoup de conteneurs IoC pour MVC3 et Simple Injector me semblent vraiment bons, mais j’ai beaucoup de problèmes avec la […]

Injecter un tableau d’interfaces dans Ninject

Considérons le code suivant. public interface IFoo { } public class Bar { public Bar(IFoo[] foos) { } } public class MyModule : NinjectModule { public override void Load() { Bind().ToConstant(new IFoo[0]); // ToConstant() is just an example } } public class Program { private static void Main(ssortingng[] args) { var kernel = new StandardKernel(new […]

Comment utiliser Ninject dans un service Windows multi-threadé pour obtenir de nouvelles instances d’une dépendance (DbContext) à chaque tick?

J’ai hérité d’un service Windows dans lequel toutes les dépendances sont créées au démarrage du service et injectées dans l’étendue transitoire. Nous rencontrons un certain nombre de problèmes avec ce service. Nous avons notamment un DbContext qui dure pendant toute la durée de l’exploitation du service, et différentes instances sont injectées à chaque fois. Je […]

Liaison MVC5 Ninject et HttpContext

J’essaie de configurer un nouveau projet et j’ai ajouté une nouvelle classe MembershipService qui nécessite que le HttpContext soit transmis dans son constructeur. Dans un projet précédent, j’ai utilisé le code private static void RegisterServices(IKernel kernel) { kernel.Bind() .To() .InRequestScope() .WithConstructorArgument(“context”, HttpContext.Current); …. } Cependant, dans le nouveau projet, j’utilise Ninject Modules, et après quelques […]