问题标签 [ninject-2]
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.
aop - 你能在 Ninject 2 中使用 AOP 吗?
我试图在网上找到如何通过 Ninject 使用 AOP 的示例。有人可以在不使用外部库的情况下确认 AOP 在 Ninject 2 中是否可用(即 Castle Windsor?)。
如果可以的话,您能否发布一个可以帮助我入门的资源链接?
aop - Ninject拦截扩展中的拦截接口方法
我正在玩 Ninject Interception 扩展。Ian Davis 关于它的博客文章表明,拦截总是基于实际的服务类型,而不是接口。例如,以下代码将不起作用,因为IFoo
它是一个接口:
当然,下一个代码片段只有在以下情况下才Foo.DoSomething
有效virtual
:
对于面向方面的编程,这似乎是一个非常明显的漏洞。我对接口编程非常认真,以便我们可以使用模拟框架来模拟我们的各种服务,但我的绝大多数实际方法实现都不是虚拟的。如果一个模拟框架可以IFoo
用一种方法来实现我所要求的,那么 Ninject 似乎应该能够做到。
所以我想我的问题有两个:
- Ninject Interception 是否有任何理由不允许您绑定到接口方法?
- 有没有一种简单的方法可以让 Ninject 绑定到动态“包装器”类,让我对所有接口方法执行某些拦截操作,然后将调用传递给真正的实现?
c# - Ninject 2:有没有相当于1.5的InjectPropertiesWhere?
我在我的 MVC 项目中使用 Ninject 1.5。它工作得很好,但是因为我们有 Ninject 2,我可以升级(并且额外使用每个请求行为,这在 1.5 中不能正常工作)。Ninject 1.5 具有InjectPropertiesWhere
Ninject 2 中缺少的功能(至少在我前一段时间测试它时是这样)。有没有类似的东西?
示例InjectPropertiesWhere
:
asp.net-mvc - Ninject 如何在 ASP.NET MVC 中创建控制器?
这可能是个愚蠢的问题,但我正在查看 Ninject 来源,并没有看到 NInject 注册了自己的控制器工厂。我也没有在汇编中看到任何IControllerFactory
课程。Ninject.Web.Mvc
我错过了什么吗?Ninject 如何创建控制器并将参数注入构造函数?
asp.net-mvc - NInject 和 MVC 3 - 我应该使用 DependencyResolver 而不是 [Inject] 属性吗?
最近我转向 MVC 3 和 Ninject 2。在大部分代码中,我使用构造函数注入,但也有一些地方,我不得不使用Inject
属性。Ninject 2 注册了自己的IDepencyResolver
接口。我不喜欢DependencyResolver
类成为System.Web.Mvc
命名空间的一部分,因为它的功能与 MVC 并没有真正严格相关,但是现在,当它在那里时,我可以做到
代替
所以我不必Ninject
在我的类中引用命名空间。应该DependencyResolver
这样使用吗?
asp.net-mvc - Ninject 2.2 多重绑定
我最近将 ASP.NET MVC 3 应用程序更新为 Ninject 2.2。
以前我在我的主应用程序中有以下实现绑定接口:
此外,我的主应用程序正在加载的不同程序集中有以下内容:
这以前工作得很好,并且正在识别更具体的实现(带有参数的实现)。但是,当我升级到 Ninject 2.2 时,我收到以下错误:
从 2.0 到 2.2 进行了哪些更改导致此问题,是否有解决方法?
c# - 开始使用 Ninject
我在dimecasts.net上观看了 Ninject 的前 2 个初学者教程。现在,我想在 ASP.NET MVC 3 中使用 Ninject 2.2。我想要一个带有模拟模型的视图。调用我的服务时,对象引用未设置为对象的实例;
我正在使用 Razor,他是里程碑部分视图
最后,主页视图索引
编辑2013 年 11 月 20 日
请注意,Ninject 已经发布了 2.0 版。这些变化在他们的网站上有很好的概述。值得注意StandardModule
的是现在NinjectModule
和命名空间Ninject.Core
不再存在。我能够用 just 替换它Ninject
。
asp.net-mvc - Ninject.MVC3,将 DependencyResolver 传递给服务层?
在具有 Ninject.MVC 2.2.0.3 (合并后)的 MVC3 应用程序中,我没有将存储库直接注入控制器,而是尝试创建一个包含业务逻辑的服务层并在那里注入存储库。我将 ninject-DependencyResolver 作为动态对象传递给服务层(因为我不想在那里引用 mvc 或 ninject)。然后我在其上调用 GetService 以获取具有我在 NinjectHttpApplicationModule 中指定的绑定和生命周期的存储库。编辑:简而言之,它失败了。
在这种情况下,如何将 IoC 容器传递给服务层?(也非常欢迎不同的方法。)
编辑:这是一个例子来说明我如何理解答案和评论。
我应该避免使用服务定位器(反)模式,而是使用依赖注入。因此,假设我想在 Northwind 中为产品和类别创建一个管理站点。我根据表定义创建模型、存储库、服务、控制器和视图。此时服务直接调用存储库,没有逻辑。我有功能支柱,视图显示原始数据。这些绑定是为 NinjectMVC3 配置的:
存储库实例由 ninject 通过两层构造函数注入在 ProductController 中创建:
和产品服务:
我现在不需要解耦服务,但已经准备好模拟数据库了。
为了在 Product/Edit 中显示类别的下拉列表,我创建了一个 ViewModel,其中包含除 Product 之外的类别:
ProductsService 现在需要一个 CategoriesRepository 来创建它。
我将 GET Edit-action 更改为return View(_productsService.GetProductViewModel(id));
和 Edit-view 以显示下拉列表:
一个小问题,也是我在 Service Locator 上误入歧途的原因,是 ProductController 中的其他操作方法都不需要类别存储库。我觉得除非需要,否则创建它是一种浪费且不合逻辑。我错过了什么吗?
asp.net-mvc-3 - 让 SNAP(AOP)、NInject 和 ASP.Net MVC 3 一起工作
有没有人让 SNAP AOP 框架与 MVC 3 和 Ninject 一起工作。
使用 NuGet 将 Snap 添加到 MVC 3 项目时给出的示例不适用于以前添加的 NInject 包。我试图让它基于正常的 NInject 方法工作,但无法让它真正拦截!
任何人都可以在代码中展示如何做到这一点吗?
asp.net-mvc - MVC 3 依赖解析器还是 Ninject MVC 插件?
在 MVC 3 中,他们添加了我一直在使用的 Dependency Resolver。在回答某人对您发表评论的问题时,您应该使用 Ninject MVC 3 插件。
所以我的问题是为什么要使用它而不是内置的?如果这是要走的路,你如何设置它?
以上是我回答的问题的链接。