问题标签 [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 投票
0 回答
435 浏览

c# - 带有 Ninject 的 VB .Net Web 表单

我最近在一个 Web 表单项目中使用了 C# 和 Ninject.Web。我使用包管理器控制台来安装它

这很好用。现在我有一个 VB .Net 项目(同样是 Web 表单)并且想做同样的事情。运行上述内容后,我注意到 NinjectWeb 和 NinjectWebCommon 在 C# 中。

所以我转换了它们的类,但仍然无法让 Ninject 与 VB .Net 一起工作。我四处研究并得到了不同的结果(即有人说你可以这样做,而其他人说你不能)我尝试了几种方法,但我认为我对可能针对以前版本的文章数量感到困惑,或者我只是做错了什么。

有没有一种简单的方法可以将 Ninject 与 VB .Net 一起使用?有我可以使用的工作包吗?我检查了http://www.ninject.org/没有给我很多线索。

我发现这篇文章http://blogs.hibernatingrhinos.com/2049/nuget-packages-and-vb-net-application-start-code似乎针对我认为不适用于 Web 表单的 EntityFramework。

感谢任何可以让我走上正轨的帮助或任何人。

0 投票
1 回答
349 浏览

c# - InRequestScope 无法在 ExceptionLogger 的上下文中工作

我有一个自定义的 Web API ExceptionLogger,它像这样添加到 WebApiConfig 中:

CustomExceptionLogger 是:

Ninject 绑定是:

我正在使用 Ninject.Extensions.Factory 扩展。ILoggerFactory 接口是:

当调用 Log() 时,我希望 ILoggerFactory 返回一个 ILogger 实例,该实例的范围为请求。但是,在这种情况下,我收到了一个新的 ILogger 实例,该实例与其他使用 ILoggerFactory 的其他实例不同。这似乎是由于HttpContext.CurrentnullLog() 方法中。尽管 ExceptionLoggerContext 对象包含一个 Request 对象(所以这个方法有一些请求上下文,而不是实际的 HttpContext)。

我正在使用 Web API 2.2/Ninject 3.2.2 的 IIS/Web 主机版本。

在这种情况下,如何让 InRequestScope() 正常工作?

0 投票
2 回答
874 浏览

asp.net-mvc-3 - 使用通用服务简化 NinjectWebCommon RegisterServices

我正在使用Ninject.MVC3我的DI.

我有超过 25 个依赖项要注入,但我RegisterService现在有 25 行带有类似代码的代码,例如:

但是,是否可以创建一个通用存储库(或存储库接口)来继承我的所有存储库并且只注入一个通用类?

0 投票
1 回答
136 浏览

c# - Ninject 基于控制器的注入依赖

我在我的网络 api 中使用 Ninject。我有以下问题。假设有两个 api 控制器(ControllerA 和 ControllerB)。两者都依赖于 MyClass,MyClass 依赖于 ClientFactory,ClientFactory 依赖于 Resolver。

当MyClass被注入ControllerA时,我想在ClientFactory中使用ResolverA,当MyClass被注入ControllerB时,我想在ClientFactory中使用ResolverB。可以用 Ninject 配置吗?

谢谢你。

0 投票
0 回答
111 浏览

asp.net-web-api - Ninject HttpBatchHandler instance

I am trying to create batch handler end point on my ASP.NET WebAPI Project. i did all the configuration using standart .net DefaultHttpBatchHandler.

Problem with this approach is .NET tries to create controller by itself so it cannot inject dependencies to controllers (it even cannot find a constructor with no parameters).

I searched through but couldn't find anything about this. Is there a Ninject implementation for HttpBatchHandler or do i need to create one?

0 投票
1 回答
578 浏览

asp.net-web-api - 我在使用 Ninject 和 MVC 5 Web api 2.2 时遇到问题

我在MVC5、Web API 2 和 Ninject中尝试了该解决方案,但该包破坏了我的构建(System.Web)。我也试过“Ninject.MVC3”包。当我使用“Update-Package -reinstall Microsoft.AspNet.WebApi.WebHost”修复它时,我收到错误:

尝试创建类型错误的控制器时发生错误:“AnyController”。确保控制器有一个无参数的公共构造函数。

我已经多次安装,重新安装,卸载 - 安装了所有软件包。

我的 NinjectWebCommon.cs 是香草,除了以下内容:

我将非常感谢任何帮助

0 投票
2 回答
782 浏览

entity-framework - 带有 InRequestScope 和 OPTIONS 调用的 WebApi Ninject

我已经设置了我的 webApi 应用程序,以便使用 RequestScope 注入实体框架 DBContent。每个存储库都将 DbContext 作为构造函数参数,使用 Ninject 注入。

但是,我似乎对预先发送的请求(OPTIONS 调用)有问题。

当接收到 OPTIONS 调用时,将创建适当的存储库并为每个请求使用一个 DbContext,当请求返回 (200) 时将按预期处理。

然后进行相关的 GET 调用。

我看到的是没有为这些调用创建新的 DbContext。存储库尝试访问在 OPTIONS 调用结束时释放的上下文。

这是预期的吗??我的配置中是否缺少某些内容?

这是一些跟踪输出

您可以看到在 GET 请求后第一次尝试使用 DB 失败,因为 ID 为 39bb041e-6098-4606-a4c0-aa5db2e8c6ed 的 DbContext 已在先前的 OPTIONS 调用中处理。

一个存储库:

NinjectWeb 常见:

我安装了以下软件包:

0 投票
0 回答
148 浏览

asp.net-web-api2 - Ninject-ing Mehdime.Entity.IDbContextScopeFactory 失败

我正在尝试使用Mehdi El Gueddari 的 DBContextScope 解决方案并将其 DI 到我的 WebAPI2 控制器中,如下所示:

NinjectConfigurator.cs:

用户配置文件控制器.cs:

但是,Ninject 似乎无法注入IDbContextScopeFactory并返回以下异常:

尝试创建类型为“UserProfileController”的控制器时发生错误。确保控制器有一个无参数的公共构造函数。

我知道这是IDbContextScopeFactory无法解决的,如果我从构造函数中(仅)省略了该参数,则会创建控制器。

谁能建议我做错了什么或我应该尝试什么?谢谢。

0 投票
1 回答
559 浏览

iis - ASP.NET Web Api 2、Ninject、OWIN 和 IIS

我在我的 ASP.NET Web Api 2 项目中使用 Ninject 进行依赖注入。一切都通过 Visual Studio 和 IIS Express 在本地完美运行,但是当我部署到 IIS 时,依赖关系没有得到解决。下面是我的 Startup.cs

我在尝试访问我的一个控制器时遇到的错误如下:

尝试创建“DegreeController”类型的控制器时发生错误。确保控制器有一个无参数的公共构造函数。

这是我的 DegreeController 构造函数:

这是我将接口绑定到类的 DegreeModule。

0 投票
1 回答
609 浏览

c# - 可以通过 Ninject Web.Common UseNinjectMiddleware 一个返回内核实例的 lambda 吗?

为什么UseNinjectMiddleware要使用 lambda 而不是容器实例?

这样做可以吗?

而不是这个:

第一个片段中的容器实例用于解析应用程序另一部分中的依赖项。Ninject 中间件是否需要能够创建它自己的实例,它可以随意修改、修改和重新创建?如果不是,我想避免多次构建依赖关系树,因此我想知道 lambda 是否可以只返回实例。