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

0 投票
3 回答
2919 浏览

c# - 如何在保持 Designer 满意的同时将依赖注入应用到 UserControl 视图?

我不使用事件(但如果它可以解决我的问题我愿意),所以我的视图类看起来像这样:

它构建 Form,构建 Presenter,然后将 Presenter 注入 Presenter 属性。一切都很美好。(除了那个单例范围的演示者——有什么更好的方法吗?也许只是手动将演示者注入到演示者构造函数内的视图的演示者属性中:this.view.Presenter = this)。

但是,如果我将 StatisticsForm 转换为 StatisticsUserControl 并将其拖放到我的 MainForm 上,它不会被 Ninject 注入到 MainForm 中,它只是由 Designer 新建。我在这里看到三个解决方案:

1) 不要使用 UserControls,而只使用一个实现这些多个视图的巨型表单 (eww);

2) 将 UserControls 注入我的表单并失去 Designer 支持;

3)您的解决方案!:)

0 投票
2 回答
16541 浏览

dependency-injection - Ninject - 如何以及何时注入

当谈到 DI 和 ninject 时,我是一个新手,我正在为实际注射应该何时发生以及如何开始绑定而苦苦挣扎。

我已经在我的 Web 应用程序中使用它并且在那里工作正常,但现在我想在类库中使用注入。

假设我有这样的课程:

我想在这里使用属性注入,因为我需要在构造函数中传入一个文件名。我是否正确地说如果我需要传入构造函数参数,我不能使用构造函数注入?如果我可以使用带有附加参数的构造函数注入,我该如何传递这些参数?

我有一个由 Test 类使用的控制台应用程序,如下所示:

我的问题是,当我调用test.ImportData()我的存储库时,它们是空的 - 没有任何东西注入它们。我尝试创建另一个模块并调用

因为我认为这可能会解决所有注入属性,TestClass但我无处可去。

我确定这是一个微不足道的问题,但我似乎无法找到解决方法。

0 投票
2 回答
1712 浏览

nhibernate - Ninject 和单例

我的应用程序使用 NHibernate 和每个请求实现的会话。我有一个核心库,它提供了一个线程安全的单例来访问当前的休眠会话。

该单例在 BeginRequest 和 EndRequest 事件中从 Web 应用程序中得到利用,以确保每个请求都打开和关闭会话。此外,我的 DataAccess 层使用相同的单例来执行数据访问,以便利用相同的休眠会话。

我现在将 Ninject 添加到等式中,以便我可以在运行时推断 NHibernate 上下文信息,即连接字符串。我想更改我的网络配置中的一个值,告诉它它将访问哪个数据库。问题是,为了做到这一点,我需要我的单例(上面提到的)能够推断出它的一个属性,IConnectionStringProvider。

它连接正确,但单例永远不会有实例化的属性,因此,一切都会中断。

所以,对于我的问题......我怎样才能让 Ninject 与单例一起工作,或者我怎样才能改变我的实现以与 Ninject 一起工作?

0 投票
1 回答
999 浏览

ninject - Ninject 2 configuration sample for class library projects

I'm gonna use Ninject 2.0 in a project and looking for a good sample on how to configure it for a class library case. Many samples are available for WebForms and ASP.NET MVC but in my case I want to inject a Repository in my DataAccess project to Services project (both are class libraries) and I don't need to inject anything into my Web project.

Any idea?

0 投票
1 回答
1023 浏览

parameters - Ninject AOP - 从拦截的方法中获取方法参数

有谁知道一种方法来获取发送到方法中的截获参数。

例如...

您在 CustomerService 中有一个像这样的 Update 方法.. Update(Customer c) ..并且您想要获取发送到服务中的 Customer 对象。

它是否以任何方式开箱即用,或者除了“通常”拦截之外,我是否必须做任何其他事情。

/J

0 投票
2 回答
2074 浏览

asp.net-mvc - ASP.NET MVC - Ninject 2.0 激活错误

我刚开始第一次使用依赖注入,我在一个 ASP.NET MVC 2 网站中使用 Ninject 2.0 作为我的 IoC 容器,我遇到了一个我不知道如何应对的激活错误。我相信这很简单,所以希望有人可以在没有太多思考的情况下指出我正确的方向。

我的类 BaseController 上有一个属性,它采用 IWebsiteSettings 并用 [Inject] 属性标记。在我的 StandardKernel 中,我使用以下代码加载了一个模块:

这相当简单——我试图从 web.config 文件中加载一些数据并将其存储在一个单例对象中,以便在我的控制器中使用。对 Bind 的调用似乎完全正常运行,并且我的提供程序中的 Settings 属性已使用配置文件中的 AppSettings 集合正确初始化。尽管如此,当应用程序第一次加载时:

有趣的是,如果我刷新页面,我不会收到异常,并且对 Kernel.Get() 的调用会返回正确的对象。

有什么建议吗?

0 投票
2 回答
13118 浏览

c# - With.Parameters.ConstructorArgument 与 ninject 2.0

如何在 ninject 2.0 中使用此功能?

“与”不存在:(

0 投票
1 回答
642 浏览

asp.net-mvc - IAuthorizationFilter + Ninject2

I'm currently using Ninject2 to bind the various services and repositories in my MVC app. That part seems to be working just fine. Now I'd like to also bind my own class to IAuthorizationFilter and all actions that have the attribute set.

I've created a class that inherits from AuthorizationFilter and Implements IAuthorizationFilter.

I've also add this to my binding module:

The last time I checked, the Ninject Mvc bits had support for also binding the 4 types of action filters.

Has anyone else done this? Whenever I run the site, the url that invokes the action marked Authorize just redirect to the login page, and never hits the breakpoint in my filter class.

If I were using a custom attribute, it would work, but changing all of the Authorize attributes defeats the purpose of using Ninject every time I want to swap one out of course.

0 投票
2 回答
1129 浏览

dependency-injection - Container.GetAllInstances 的等价物是什么在 NInject 中?

我正在使用 NInject 构建一个消息代理,我需要在容器中找到所有实现 Consumes 的实例,这是一个将类标记为能够使用特定消息类型的接口。

是否支持此场景?

0 投票
1 回答
356 浏览

silverlight - ninject-contrib 是否支持 Silverlight?

我正在使用 Prism 构建 Silverlight 应用程序,我们想使用 NInject。我已经下载了 ninject-contrib 以使用他们的 NInject 引导程序,但它似乎没有构建 Silverlight 程序集。我自己将它编译到 Silverlight,但它使 Visual Studio 崩溃。

有人已经成功地将 ninject-contrib 移植到 Silverlight 吗?