问题标签 [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.

0 投票
1 回答
3286 浏览

aop - 你能在 Ninject 2 中使用 AOP 吗?

我试图在网上找到如何通过 Ninject 使用 AOP 的示例。有人可以在不使用外部库的情况下确认 AOP 在 Ninject 2 中是否可用(即 Castle Windsor?)。

如果可以的话,您能否发布一个可以帮助我入门的资源链接?

0 投票
1 回答
913 浏览

aop - Ninject拦截扩展中的拦截接口方法

我正在玩 Ninject Interception 扩展。Ian Davis 关于它的博客文章表明,拦截总是基于实际的服务类型,而不是接口。例如,以下代码将不起作用,因为IFoo它是一个接口:

当然,下一个代码片段只有在以下情况下才Foo.DoSomething有效virtual

对于面向方面的编程,这似乎是一个非常明显的漏洞。我对接口编程非常认真,以便我们可以使用模拟框架来模拟我们的各种服务,但我的绝大多数实际方法实现都不是虚拟的。如果一个模拟框架可以IFoo用一种方法来实现我所要求的,那么 Ninject 似乎应该能够做到。

所以我想我的问题有两个:

  1. Ninject Interception 是否有任何理由不允许您绑定到接口方法?
  2. 有没有一种简单的方法可以让 Ninject 绑定到动态“包装器”类,让我对所有接口方法执行某些拦截操作,然后将调用传递给真正的实现?
0 投票
1 回答
247 浏览

c# - Ninject 2:有没有相当于1.5的InjectPropertiesWhere?

我在我的 MVC 项目中使用 Ninject 1.5。它工作得很好,但是因为我们有 Ninject 2,我可以升级(并且额外使用每个请求行为,这在 1.5 中不能正常工作)。Ninject 1.5 具有InjectPropertiesWhereNinject 2 中缺少的功能(至少在我前一段时间测试它时是这样)。有没有类似的东西?

示例InjectPropertiesWhere

0 投票
3 回答
2057 浏览

asp.net-mvc - Ninject 如何在 ASP.NET MVC 中创建控制器?

这可能是个愚蠢的问题,但我正在查看 Ninject 来源,并没有看到 NInject 注册了自己的控制器工厂。我也没有在汇编中看到任何IControllerFactory课程。Ninject.Web.Mvc我错过了什么吗?Ninject 如何创建控制器并将参数注入构造函数?

0 投票
3 回答
2071 浏览

asp.net-mvc - NInject 和 MVC 3 - 我应该使用 DependencyResolver 而不是 [Inject] 属性吗?

最近我转向 MVC 3 和 Ninject 2。在大部分代码中,我使用构造函数注入,但也有一些地方,我不得不使用Inject属性。Ninject 2 注册了自己的IDepencyResolver接口。我不喜欢DependencyResolver类成为System.Web.Mvc命名空间的一部分,因为它的功能与 MVC 并没有真正严格相关,但是现在,当它在那里时,我可以做到

代替

所以我不必Ninject在我的类中引用命名空间。应该DependencyResolver这样使用吗?

0 投票
1 回答
1091 浏览

asp.net-mvc - Ninject 2.2 多重绑定

我最近将 ASP.NET MVC 3 应用程序更新为 Ninject 2.2。

以前我在我的主应用程序中有以下实现绑定接口:

此外,我的主应用程序正在加载的不同程序集中有以下内容:

这以前工作得很好,并且正在识别更具体的实现(带有参数的实现)。但是,当我升级到 Ninject 2.2 时,我收到以下错误:

从 2.0 到 2.2 进行了哪些更改导致此问题,是否有解决方法?

0 投票
3 回答
11949 浏览

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

0 投票
1 回答
5955 浏览

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 中的其他操作方法都不需要类别存储库。我觉得除非需要,否则创建它是一种浪费且不合逻辑。我错过了什么吗?

0 投票
1 回答
670 浏览

asp.net-mvc-3 - 让 SNAP(AOP)、NInject 和 ASP.Net MVC 3 一起工作

有没有人让 SNAP AOP 框架与 MVC 3 和 Ninject 一起工作。

使用 NuGet 将 Snap 添加到 MVC 3 项目时给出的示例不适用于以前添加的 NInject 包。我试图让它基于正常的 NInject 方法工作,但无法让它真正拦截!

任何人都可以在代码中展示如何做到这一点吗?

0 投票
2 回答
10112 浏览

asp.net-mvc - MVC 3 依赖解析器还是 Ninject MVC 插件?

在 MVC 3 中,他们添加了我一直在使用的 Dependency Resolver。在回答某人对您发表评论的问题时,您应该使用 Ninject MVC 3 插件。

所以我的问题是为什么要使用它而不是内置的?如果这是要走的路,你如何设置它?

问题

以上是我回答的问题的链接。