首页 > TAG信息列表 > ninject

依赖注入-Ninject 与Autofac 用法比较

1.分别安装Ninject  和 Autofac 并引用   总结: 通过比较发现,两者用法基本相同,只是方法名称和调用方式不同,Ninject 用 new StandardKernel()方法获取IKernel对象,并通过该对象Bind() To 接口和实现类,通过该对象的Get() 方法获取接口对象。而Autofac则通过New ContianerBuilder()

Ninject 2.x细说---1.基本使用

Ninject 2.x细说---1.基本使用 https://blog.csdn.net/weixin_33809981/article/details/86091159   本来想使用一下Ninject的,然后搜索了很久,都没找到比较详细的关于Ninject的使用方法等内容.于是乎干脆自己来写几篇介绍Ninject的内容.   依赖注入和IOC   依赖注

Ninject 2.x细说---2.绑定和作用域

Ninject 2.x细说---2.绑定和作用域 转载weixin_33725272 最后发布于2011-11-06 00:03:00 阅读数 9  收藏   Ninject中提供多种接口和实现类的绑定的方式供我们选择,同时还可以设置相关的绑定项以及对象的作用域等。具体如下:(其中使用到的类和代码重用上一节的“Ninj

可以使用带有静态属性的Ninject吗?

我有一个静态的SessionFactory类,用于初始化NHibernate会话工厂.因为此过程很昂贵(〜5秒),所以我希望它是静态的,因此在运行时开始时只执行一次. 该配置可以采用如下数据库参数参数: public static IPersistenceConfigurer DbConfig { get; set; } public static void Initialize(

可以更改MEF创建导入对象的方式吗?

我想使用MEF查找扩展名,但要负责将其创建到Ninject或自定义工厂.那可能吗?解决方法:见文章: Glenn Block撰写的“ MEF的出口提供商和定制工厂”http://codebetter.com/blogs/glenn.block/archive/2008/11/30/export-providers-and-custom-factories-with-mef.aspx. 您可以阅读一些有

c#-Singleton中的实体框架上下文

我正在构建一个使用NHibernate和Session一起在Singleton Pattern中使用EF上下文的应用程序: public class DbContextFactory { private static volatile DbContextFactory _dbContextFactory; private static readonly object SyncRoot = new Object(); public DbConte

c#-MVC3中的Ninject依赖注入-控制器外部

我们在MVC3项目中使用Ninject进行依赖项注入. 我使用NuGet将软件包引用添加到Ninject和Ninject.MVC3软件包.当我这样做时,它在我的App_Start文件夹中创建了一个NinjectMVC3类: public static class NinjectMVC3 { private static readonly Bootstrapper bootstrapper = new Boo

CodeGo.net>为DI容器创建线程安全的单例包装

我为Ninject DI容器创建了一个包装,打算在WPF应用程序中使用.我希望它是线程安全的,以防我需要在单独的线程中打开新窗口,但是对于使用volatile关键字和锁定我感到困惑.就我所知,锁定非常容易理解,但是我并不是在使用volatile关键字.从我的谷歌搜索结果中,我了解到volatile关键字可

CodeGo.net>了解Ninject的好处

我已经看到了Still need help understanding why Ninject might be better than manual DI这个问题,但我仍然对Ninject的实用性感到困惑… 我了解这段代码… class Samurai { readonly IWeapon weapon; [Inject] public Samurai(IWeapon weapon) { this.

c#-将IOC容器用作MVC5的依赖项解析器会抛出“无法创建接口实例”错误

我试图简单地使用IOC容器(目前为ninject)作为MVC5的依赖项解析器.以前在MVC4,Visual Studio 2012中可以正常工作,但是现在使用VS2013和MVC5,我只是无法让解析器在我的控制器中注入依赖项.这不是ninject特有的,我也尝试过SimpleInjector和Unity -同样的错误 我只希望能够将此类插入

c#-Ninject工厂模式和绑定

我正在尝试实现Ninject.Extensions.Factory模式,我的程序告诉我我的绑定不正确,但是我不知道为什么.我不断收到“抛出错误,激活IHashable.没有匹配的绑定可用,并且类型不是可自绑定的”异常.我的代码的相关领域如下: public interface IHashable { FileInfo File { get; }

C#-Ninject:激活字符串时出错

我正在遵循有关如何设置SQLite的指南.在指南中,他使用如下代码: public MainPage() { InitializeComponent(); // Setup database var path = Path.Combine(Path.Combine(ApplicationData.Current.LocalFolder.Path, "test.sqlite")); _connection = new SQLi

C#-Ninject绑定到需要当前Request.Url的类型

我正在基于MVC5的网站中使用Ninject 3,并试图弄清楚如何使DI与测试传递给其构造函数的Uri.Host值的属性的类型一起使用.我想要以某种方式提供当前URL的绑定.我最初尝试的最小结构是: public class StructuredUrlTester : IStructuredUrlTester { // Expose public getters for

在给定的请求实例中使用依赖注入的DbContext是否在所有使用它的类之间共享?

我想知道Ninject在以下情况下到底如何处理EF DbContext注入. 有一个实用程序类,它将DbContext作为参数,并执行一些需要dbContext的工作: public class SomeClass : ISomeClass { public SomeClass(MyDbContext context) { //the context is dependency injected

C#-DI的构造函数的模板重构

很抱歉,如果以前曾有人问过/回答过这个问题,我对这个主题的搜索使我想到了与我的任务没有直接关系的各种各样的主题. 我目前需要实现在内部代码库中重构大量构造函数的目标,以支持使用Ninject进行构造函数注入.当前,我们有大量的KernelInstance.Get< T>实例.作为吸气剂的特性,例如:

c#-Ninject模块或组织接线依赖

我已经开始使用Ninject了,从一个截屏中可以看到,以下是设置绑定的方法: class MyModule : StandardModule { public override void Load() { Bind<IInterface>().To<ConcreteType>(); // More bindings here... } } 这一切都很好. 但是,假设您在一个应用

XNA和Ninject:依赖项参数的语法?

我有一个带有公共构造函数的类: public MasterEngine(IInputReader inputReader) { this.inputReader = inputReader; graphicsDeviceManager = new GraphicsDeviceManager(this); Components.Add(new GamerServicesComponent(this)); } 如

c#-Unity中RegisterInstance的最新版本

在我们的项目中,我们使用Unity作为依赖项注入框架.现在,我面临一种情况,我需要IUnityContainer.RegisterInstance()的最新版本. 在ninject中,我正在尝试执行的代码如下所示: this.Bind<IMyInterface>().ToMethod(context => GetMyObjectLateBound()); 但是,到目前为止,在Unity中,

c#-在Ninject中允许将IKernel注入位置吗?

我目前正在学习Ninject和依赖项注入,在当前设置中,我将IKernel传递到各个地方,以便其他类可以实例化某些类或获取工厂实例. 目前,我将工厂绑定为单例,然后将IKernel传递到对象中然后执行_kernel.Get< ISomethingFactory>().CreateSomething()似乎有点代码气味,并且只是将Ninject变

CodeGo.net> Ninject的:是否可以在SingletonScope中有一个父对象,在TransientScope中有一个子对象?

我已经为此动脑子了好几个星期了……我简直是这样的: >一堆*服务类 >所有这些都取决于通过EF访问数据库的不同* Repository类>为了进行单元测试,将DbContext的派生注入到存储库中. (所以我不能使用来处理上下文) 为了正确处理注入的EF上下文,我可以在InRequestScope()或简单的自定义

c#-以非通用方式绑定Ninject Factory Extension之后的异常

我有以下代码: public interface ILogging { ... } public interface ILoggingFactory { ILogging CreateLogging(); } public class MailSender : IMailSender { [Inject] public MailSender(ILoggingFactory loggingFactory) { ... } } 当我尝试将工厂绑定为 B

CodeGo.net>如何使用lambda指定一个构造函数参数?

我对实现lambda和表达式不是很熟悉,但是我在MVC中已经习惯了这种语法,其中lambda标识对象的属性: Html.Label(model => model.Foo) 在我的应用程序中,我使用Ninject条件绑定来提供Settings类的实例,该类在我请求Class的实例时被注入.我的班级看起来像这样: public class Class {

c#-Ninject无法通过Application_Start中的DependencyResolver解析

我一直在努力解决整个上午的问题,但似乎该征询意见了. 我有一个MVC / WebApi / SignalR应用程序.我有一项服务,希望与Web应用程序一起开始.我希望注入这项服务.所以这就是我想要做的: public static class NinjectWebCommon { ... private static void RegisterServices(IK

CodeGo.net>如何处理MVVM应用程序中的构造函数过度注入

我一直在阅读有关构造函数注入过多的问题. 完全有道理,这是未正确遵循SRP等的标志.(顺便说一下,我正在使用Ninject!) 但是,我很难理解如何解决我的问题.最大的问题是在我的视图模型中,我在其中注入要与我的属性一起使用的DTO映射器和存储库. 这是我的视图模型构造函数的示例: public

C#-ASP.NET Identity 2使身份困难失效

我今天整天都在更新我的ASP.NET Identity实施,我觉得自己已经走到最后一步,但无法使其正常工作.我要做的就是在用户的当前会话(如果有的话)发生变化时使该会话无效,然后将其发送回登录页面.从我今天阅读的数十篇有关Identity的文章中,我已经解决了我必须重写OnValidateIdentity委托