问题标签 [ninject.web]

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 投票
2 回答
2322 浏览

asp.net-web-api - Ninject 3 - BeginBlock() 是否覆盖 asp.net WebAPI 中的 InRequestScope?

我的 asp.net WebApi 项目由服务、核心和数据访问的多个程序集组成。为了在项目中使用 Ninject 作为我的 DI 容器,我从 NuGet 添加了 Ninject.Web.Common 包。然后,我将 IDependencyResolver 实现为:

这是我的 Ninject.Web.Common.cs。

我的问题是关于 NinjectDependencyResolver -> BeginScope() 方法中的代码: return new NinjectDependencyScope(this.kernel.BeginBlock());

我想让我的存储库(在 WebApiTest.DataAccess.dll 中实现)成为请求范围。我从 Nate Kohari 那里看到了这篇文章。我意识到这篇文章很旧,但关于激活块的描述让我想知道这是否仍然是当前的实现。

在 Ninject2 中还有最后一种处理作用域的方法,即通过激活块。块是>一种覆盖在绑定上声明的范围的方法,而是将>激活的实例与块本身相关联。...

那么,我的存储库的实际范围是什么?

另外,在我看来,使用 BeginBlock() 是可选的,但是当我删除它时,对 Controller 的第一次调用成功,但任何后续调用都会引发异常:

Ninject component ICache 内核的组件容器中没有注册过这样的组件

为什么??

0 投票
1 回答
2814 浏览

ninject - WebForms 中的 Ninject 3

当我尝试启动安装了 Ninject.Web (v3) 的 WebForms 应用程序时,出现以下错误。

“静态容器已经有一个与之关联的内核!”

我在 Global.asax 中实现 Ninject,继承自 NinjectHttpApplication 并覆盖 CreateKernel(),我的模块采用以下形式

我基本上遵循了包含如何在 asp.net Web 表单上实现 Ninject 或 DI 的设置建议?

疼痛的黄屏说

有任何想法吗?

0 投票
1 回答
487 浏览

c# - “按请求”激活上下文 ... 无请求

我有一个需要根据请求创建的存储库。现在有一个单例缓存对象需要使用该存储库来填充自己的数据,但是该对象在 Application_Start 事件中初始化,因此没有请求上下文。

使用 Ninject 实现这一目标的最佳方法是哪一种?

谢谢。

0 投票
1 回答
3243 浏览

asp.net - 如何在 asp.net Web 表单中使用 Ninject v3?

我正在尝试在基于 Jason 答案的 asp.net webforms 应用程序中使用 ninject 版本 3

如何在 asp.net Web 窗体上实现 Ninject 或 DI?

但它不工作?

当我开始调试从未调用过的 CreateKernel 时,我在页面中收到一个异常 NullReferenceException,这意味着没有发生注入。

0 投票
1 回答
634 浏览

c# - Ninject 无法将枚举属性绑定到过滤器

我有一个像这样设置的 MVC 属性:

和相应的过滤器类

我为过滤注入的属性绑定如下所示:

当我尝试调试我的网站时,我从 Ninject 收到一个错误,指出它无法激活 ActivityFilter,因为没有可用于 int 的匹配绑定,特别是:

ActivationException: Error activation int 没有匹配的绑定可用,并且类型不是自绑定的。激活路径:

2) 将依赖 int 注入到 ActivityFilter 类型的构造函数的参数指令中

1) 请求 ActivityFilter

似乎 Ninject 误解了整数的枚举参数,但我不知道如何解决这个问题。

0 投票
3 回答
2527 浏览

asp.net-mvc-4 - Ninject.Web.Common 没有为此对象定义无参数构造函数

我使用 Nuget 来安装 Ninject.Web.Common 参考。我将它与 ASP.net Web API (APIController) 一起使用没有问题,但是在使用 ASP.net MVC 4(Controller) 时遇到了问题。

错误:

NinjectWebCommon.cs:

0 投票
0 回答
179 浏览

ninject - 具有多个字符串参数的 Ninject 错误解析构造函数

我在使用 Ninject 3 和 MVC WebAPI / Windows Azure 项目时遇到了一个看起来像错误的错误。我有一个看起来像这样的存储库对象:

在 NinjecWebCommon 我有这样的绑定:

在存储库初始化时,它使用 activityLogQueueName 等字符串来创建任何缺少的容器并设置 Azure 客户端对象。这一切都很好 - 问题是 Ninject 以某种方式获取第一个字符串参数(“activityLog”)的值并将其传递给所有字符串参数,因此我的 blob 容器和跟踪表最终也被命名为“activityLog”。

如果我像这样在绑定中指定这些参数:

一切正常,所以我相信这不是我的代码中的错误。

这是我正在使用的解析器:

和范围:

否则,一切都是通过 nuget 交付的。

0 投票
1 回答
456 浏览

asp.net-mvc-4 - 如何在注入和模块绑定(nInjectModule)到单独的程序集中时设置ninject

以下是项目结构:

  1. MVC 4 应用程序 1) 项目适用于具有控制器注入接口的 MVC。2)接口存在于这个应用程序中。
  2. 经理图书馆项目。1) 项目包含 MVC 应用程序的引用。2) 将每个接口实现到这个程序集中。3) NinjectMOdule 存在于该项目中,其中与相关管理器类绑定接口。

问题:无法将注入的类注入 Web 应用程序。

它给出以下错误: Error No matching bindings are available, and the type is not self-bindable. Activation path: 2) Injection of dependency ILeadInformation into parameter leadInformation of constructor of type HomeController 1) Request for HomeController

0 投票
1 回答
777 浏览

wcf - 尝试为 WCF 安装 nInject 时找不到 NinjectWcfApplication 参考

我想将 nInject 添加到 WCF 服务中,我按照以下步骤操作。 http://www.aaronstannard.com/post/2011/08/16/dependency-injection-ninject-wcf-service.aspx

问题:我无法NinjectWcfApplication为 global.asax 找到要继承的类。

请让我知道我必须添加哪个模块,我可以找到NinjectWcfApplication类并能够注入 wcf 服务类。

添加 - ninject.extensions.wcfnuget 包。 <package id="Ninject" version="3.2.2.0" targetFramework="net40" /> <package id="Ninject.Extensions.Wcf" version="3.2.1.0" targetFramework="net40" />

请指导我如何解决这个问题。

谢谢你

0 投票
0 回答
765 浏览

wcf - 如何在 WCF 服务 .NET 4.0 中实现 nInject DI

谁能分享我如何在 WCF 服务中实现 nInject DI。

最新的套餐是这个——

我尝试使用以上两个包来实现,但没有成功。

谁能分享我应该如何使用上面的包和实现 WCF 服务 - DI 在这里,版本是 3.2.2.0,3.2.1.1。

尝试使用 - http://www.aaronstannard.com/post/2011/08/16/dependency-injection-ninject-wcf-service.aspx链接方法。但是,在这里我也遇到了一个问题,无法解决参考 -NinjectWcfApplication 看起来,WCF 扩展包有一些变化,所以上面的链接不起作用。

请帮助我如何实现 WCF 服务以使用 nInject 进行 DI?