问题标签 [ninject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Ninject 模块的目的是什么?
我是 ninject 的新手
我一直在拆开别人的代码,发现了几个 nInject 模块的实例——派生自 Ninject.Modules.Module 的类,并且有一个包含大部分代码的加载方法。
通过调用 StandardKernel 实例的 LoadModule 方法并将模块类的实例传递给它来调用这些类。
也许我在这里遗漏了一些明显的东西,但是与仅仅创建一个普通的旧类并调用它的方法或可能是一个带有静态方法的静态类相比,这样做有什么好处?
c# - 使用 Ninject IOC 替换工厂
我在解析器中有一个工厂方法。本质上,当我加载一个令牌时,我会查找该令牌的处理程序,或者直接转到默认处理程序。我已将其实现为 aswitch
和 a ,Dictionary<string,Type>
但两种方法都要求我将映射存储在处理程序类之外的其他位置。
我们正在为 IOC 使用 Ninject,所以我意识到我也可以使用
但这并不能节省我存储有关处理程序可以在 2 个位置处理的令牌的信息。有没有办法可以装饰处理程序,以便自动映射?
winforms - 使用 Ninject 将依赖项注入外部构造的对象(用户控制)
我想在我的 WinForms 应用程序中使用 Ninject。我不知道如何将它用于我的用户控件。有时他们依赖于我想通过 DI 框架配置的服务。这些控件需要通过设计器进行管理(因此需要默认构造函数)。
那么,有没有办法将依赖项注入到这个用户控件的属性中呢?由于设计师需要能够构建它,kernel.Get<TestClass>
因此不会在这里工作。是否有一种方法或一些代码可以让我“填充”Form_OnLoad()
方法中的依赖关系?
我还可以想到其他示例,在这些示例中我想注入到已经存在的对象的属性中,但是 WinForms 用户控件是最容易解释的。
asp.net - 使用 NInject 连接依赖项的选项
使用 NInject(最好是 2.0),我们有哪些选项可以在 Web 应用程序中连接我们的对象依赖项?
它们可以在 XML 配置文件中定义吗?
还是必须通过代码完成?
dependency-injection - 将值注入到注入的依赖项中
我有这样的事情:
我正在尝试使用 ninject 获取对 Root 的引用。所以我像这样配置它
我想向 Dependency 注入一些“val”值,该值仅在从 ninject 获取 Root 引用时才知道。
我想做的是这样的:
使用ninject 1.0可以实现这样的事情吗?
mapping - Ninject:在要求 DbConnection 时提供未打开的 SqlConnection
我想映射DbConnection
到未打开的SqlConnection
使用Ninject
. 这就是我所做的:
但是,当尝试使用数据库时,我收到一条错误消息
此操作需要连接到“主”数据库。无法创建到“主”数据库的连接,因为原始数据库连接已打开并且凭据已从连接字符串中删除。提供一个未打开的连接。
(如果我只提供与new SqlConnection(constr)
...的连接,同样的操作也有效)
原来Ninject 给出的 I的QueryString
属性SqlConnection
是空的。我究竟做错了什么?
更新
我现在已经kernel.Get<DbConnection>()
在绑定之后直接进行了测试,并且使用上面的代码它仍然给了我一个空的连接字符串。以下工作,虽然它比我想要的更冗长:
更新 2
这是我的整个模块:
打开断点var test = Kernel.Get<DbConnection>();
并越过,我看到它test
填充了一个SqlConnection
,但该ConnectionString
属性是空的。
dependency-injection - 我正在为 .net 寻找一个简单但实用且强大的 IOC/DI 框架
我将在经验较少的开发人员的项目中使用它,因此不能选择像 Spring.NET 这样的复杂框架。我在想:
- 忍者
- 温莎城堡
- 结构图
哪个会呈现适度的学习曲线而不失去灵活性?
还有一个问题 - 放置配置的正确位置在哪里?由于 3 层 ASP.NET 应用程序上的内核/配置(不是 MVC !!!所有示例都使用 MVC :))
c# - NInject 与通用接口
我定义了一个接口和一个类:
在这里注入:
如何使用 Ninject 执行依赖注入,说如何绑定?
我已经编写了一个如下的辅助类,它可以与非泛型接口一起正常工作。但是如何重构它以支持上面的泛型接口?
c# - 在构造函数中使用带有附加参数的 Ninject 创建实例
我决定开始使用 Ninject 并面临一个问题。假设我有以下情况。我有一个IService
接口和 2 个实现这个接口的类。而且我还有一个类,它有一个获取 IService 和一个int的构造函数。如何使用 Ninject 创建此类的实例(我不想硬连线这个 int,我想在每次获得实例时传递它)?
这是一些说明情况的代码:
design-patterns - 在类库中创建 Ninject 内核
我有一个类,它有我用 Ninject 连接的依赖项。
在实际实现中,我使用属性注入,但为了快速说明,我将在现场注入。据我了解,为了正确注入依赖项,我需要使用而不是新的 MyObject 实例
然而,我遇到的事情是 MyObject 只会在类库的上下文中使用。目的是让最终应用程序创建自己的模块并将其传递给内核实例以进行水合。鉴于此,将 Ninject 内核的通用实例呈现到我的类库以便 MyObject (和其他类似情况)的实例可以被水合的最实用的方法是什么?
我的第一个倾向是某种将单例内核内部化的工厂——应用程序本身必须通过加载模块来对其进行水合/初始化。
所以在 RandomService.cs
不过,在我沿着这条路走得太远之前,我需要进行一次健全性检查,以确保我的想法是合理的,或者没有其他明显的东西我遗漏了。我显然是 IoC 的新手,我觉得我掌握了基础知识,但不一定是最好的现实世界使用它的方法。