草庐IT

ninject-3

全部标签

c# - NInject:您在哪里保存对内核的引用?

我在一个新的网络应用程序上使用NInject,有两件事我不清楚:我不需要保留对内核(Session/App变量)的引用以确保GC不会收集我的所有实例吗?例如,如果我指定.Using()然后Kernel对象被收集,那么我所有的“单例”是不是也被收集了?如果我确实需要保留对Kernel对象的引用,我该如何允许传递给WithArguments()的参数发生变化,或者这是不可能的。 最佳答案 您确实不想绕过内核。通常,在Web应用程序中,我将内核存储在HttpApplication的静态属性中。如果您需要对内核的引用,您只需公开一个类型为I

c# - 什么是 Ninject 以及何时使用它?

我一直在帮助几个friend做一个项目,有一个类使用了Ninject。我是C#的新手,我不知道那个类在做什么,这就是我需要了解Ninject的原因。任何人都可以解释Ninject是什么以及什么时候使用它(如果可能的话举例)?或者,如果您可以指向一些链接,那也很棒。我试过这个问题:Ninjecttutorials/documentations?但它并没有真正帮助像我这样的初学者。 最佳答案 Ninject是.NET的依赖注入(inject)器,模式依赖注入(inject)(控制反转模式的形式)的实际实现。假设您有两个类DbReposi

c# - Ninject 模块的目的是什么?

我是一个完全的ninject新手我一直在拆解其他人的代码,发现了几个nInject模块的实例-从Ninject.Modules.Module派生的类,并且有一个包含大部分代码的加载方法。通过调用StandardKernel实例的LoadModule方法并将模块类的实例传递给它来调用这些类。也许我在这里遗漏了一些明显的东西,但是与仅仅创建一个普通的旧类并调用它的方法,或者一个带有静态方法的静态类相比,这样做有什么好处呢? 最佳答案 Ninject模块是用于向IoC容器注册各种类型的工具。优点是这些模块然后保存在它们自己的类中。这允许您

c# - 在构造函数中使用带有附加参数的 Ninject 创建实例

我决定开始使用Ninject并遇到一个问题。假设我有以下情况。我有一个IService接口(interface)和2个实现该接口(interface)的类。我还有一个类,它有一个获取IService的构造函数和一个int。我如何使用Ninject创建此类的实例(我不想硬连接这个int,我想在每次获得实例时都传递它)?下面是一些说明情况的代码:interfaceIService{voidFunc();}classStandardService:IService{publicvoidFunc(){Console.WriteLine("Standard");}}classAlternativ

c# - 何时使用单例、 transient 和使用 Ninject 和 MongoDB 的请求

当我在global.cs文件中进行绑定(bind)时,我不太确定何时应该使用SingletonScope()、TransientScope()和RequestScope()。例如,我对MongoSession的调用(使用NoRM和mvcStarter项目http://mvcstarter.codeplex.com/)设置为SingletonScope,但我创建了一个使用此MongoSession对象的存储库,以便更轻松地调用Mongo,例如,我有一个NewsRepository它使用MongoSession从数据中获取我的新闻项目。例如,我有一个调用来获取DisplayOnHome设置

c# - 何时使用单例、 transient 和使用 Ninject 和 MongoDB 的请求

当我在global.cs文件中进行绑定(bind)时,我不太确定何时应该使用SingletonScope()、TransientScope()和RequestScope()。例如,我对MongoSession的调用(使用NoRM和mvcStarter项目http://mvcstarter.codeplex.com/)设置为SingletonScope,但我创建了一个使用此MongoSession对象的存储库,以便更轻松地调用Mongo,例如,我有一个NewsRepository它使用MongoSession从数据中获取我的新闻项目。例如,我有一个调用来获取DisplayOnHome设置
78910