问题标签 [light-inject]

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 回答
502 浏览

ioc-container - LightInject IoC容器在回退方法中抛出stackoverflow

我正在摆弄 LightInject 来尝试设置一个 IoC 解决方案,其中包含一个域项目、一个基础设施项目、一个 MVC 项目和一个 DependencyResolution 项目。Infrastructure、MVC 和 DependencyResolution 引用域。MVC 引用 DependencyResolution 和 DependencyResolution 引用 LightInject。

这个想法是 DependencyResolution 在应用程序启动时注册所有必要的依赖项。目前它不了解 MVC 项目中的控制器。相反,我设置了一个备用例程来捕获所有未知的 MVC 控制器类。然后在回退例程中注册 MVC 控制器并返回它。通过这样做,我希望这段代码只运行一次,因为它只是在第一次点击时 MVC 控制器尚未注册。但这种情况并非如此。相反,我得到一个 StackOverflowException ,因为每次请求 MVC 控制器时都会命中回退例程,即使它是第一次注册的。

所以问题是为什么会发生这种情况?这是预期的行为吗?如果是,为什么会这样以及如何解决?

编辑:这是下面的源代码。

0 投票
1 回答
401 浏览

c# - 使用 LightInject 自动注册依赖项

我使用 LightInject 作为我的类库项目的 IoC 容器。由于这些项目类型没有任何入口点或启动方法,我可以在其中编写用于注册依赖项的代码。我想实现一些自动注册,所以任何使用我的库并且依赖于它的客户端,它们都应该在没有客户端显式调用注册方法的情况下自动解析。

LightInject 也应该从客户端中抽象出来。它永远不应该知道对象是如何在类库内部创建/销毁的。

0 投票
1 回答
944 浏览

c# - LightInject IoC 容器通过自定义方法解析类型?

LightInject IoC中是否可以基于某些自定义方法解析类型?

例如,解析器会调用这样的方法

我将如何编写该container.Register方法以便它调用上述方法以解决依赖关系?

0 投票
1 回答
68 浏览

asp.net-web-api - 什么是 LightInject 中 CastleWindsor 的 container.Release 的等价物?

我在 Seemann 的网站上看到了 ASP.NET Web API 依赖注入。它虽然使用 CastleWindsor。

什么是 LightInject 中 CastleWindsor 的 container.Release 的等价物?

http://blog.ploeh.dk/2012/10/03/DependencyInjectioninASP.NETWebAPIwithCastleWindsor/

0 投票
1 回答
269 浏览

c# - Lightinject 中的 FluentValidation

我正在使用fluentvalidationlightinject

这是我插入博客文章的代码;

公共 OperationResultDto Add(BlogArticleDto blogArticleDto) { OperationResultDto 结果 = new OperationResultDto();

如您所见,“验证部分”很大,我不想在我的服务(业务)层中验证我的 dto 参数。我想在我的 ioc (lightinject) 中验证“参数”。

这是我的ioc代码以继续进行;

现在,我可以将方法的所有参数提供给我的 fluentvalidator。所以我知道我需要在这里定义 typeOf 参数,但在那之后我如何调用流利验证的相关验证对象* 来验证参数?

0 投票
2 回答
2783 浏览

c# - Resolve object using DI container with object instance

I have a ICommand interface and tasks that are using dependencies injected by constructor. Dependencies are using different constructors so they have to be resolved by the request itself. I want to tell my container how to resolve some dependencies in the specific context it's being resolved.

I've registered my interfaces and classes in LightInject:

Now, I want to do something like this in my requests:

What would be the correct way to do this in maintainable way with any DI container, considering that dependency chain might get quite long for complex methods?

EDIT I made my use case more clear (changed classes implementing IUser).

0 投票
2 回答
1276 浏览

dependency-injection - LightInject - 调用 WebApi OWIN Identity TokenEndpointPath 时没有范围

我有一个非常基本的带有令牌身份验证的 WebAPI 设置。
在应用程序开始我做:

哪个电话:

现在,当客户端调用令牌端点(请求令牌)时,我在这里定义的提供者:

正在与此方法一起使用:

当我尝试获取实例时,出现以下错误:

尝试创建一个没有当前作用域的作用域实例。

我知道 LightInject 对每个请求都有一个开始/结束范围的概念,它实际上告诉我没有开始范围。但我似乎无法弄清楚究竟是什么坏了,需要修复。

0 投票
1 回答
217 浏览

c# - Lightinject 和 xUnit InjectData

我正在尝试使用LightInject框架设置xUnit ,但无法让 xUnit InlineDataAttribute 工作。以下测试代码不起作用:

这给出了一个错误,说它找不到任何可以为参数 somedata 注入的东西。删除 InlineDataAttribute 将使注入工作。我真的很喜欢 xUnit 的 InlineData 功能,那么如何让它与 LightInject 一起工作?

0 投票
1 回答
1196 浏览

ioc-container - 在 LightInject IoC 中注册多接口实现

我有interface两个实现。

我尝试使用此代码,但不起作用。

LightInject将省略第一次注册,只注册SQLiteLogger。那么如何在中注册具有多个实现的相同接口LightInject

0 投票
2 回答
185 浏览

light-inject - Lightinject 等效于 Ninject 的 WhenInjectedInto

LightInject 是否有与 Ninject 等效的方法WhenInjectedInto()?( Ninject - 上下文绑定)

例如,我有两个类,比如说MicrosoftOfficeLibreOffice,它们实现了一个 interface IOfficeSuite。另外两个类WindowsLinux实现另一个接口IOperatingSystem。后一个接口依赖于IOfficeSuite.

我想根据上下文决定要实例化哪个办公套件。因此,如果 LightInject 将一个IOfficeSuite实现注入到一个Windows对象中,它应该选择MicrosoftOffice; 如果它是一个Linux对象,它应该注入一个LibreOffice实例。

谢谢