simple-injector相关内容

如何使用简单注入器将参数传递给构造函数?

简单注入器允许您在解析时将参数传递给构造函数吗?我想知道这两个框架是否都像Unity的ResolverOverride或DependencyOverride那样做。 推荐答案 我怀疑这个问题是关于在实际解析服务时将原始值传递给构造函数。 让我们设置一个简单的测试类: public interface IFoo { } public class Foo : IFoo { ..
发布时间:2022-04-09 11:14:16 其他开发

如何使用依赖注入从多个来源获取配置?

我使用的是 Simple Injector,但也许我需要的是更多概念性的答案. 这是交易,假设我有一个包含我的应用程序设置的界面: 公共接口 IApplicationSettings{bool EnableLogging { 获取;}bool CopyLocal { 获取;}字符串服务器名称 { 获取;}} 然后,通常会有一个实现 IApplicationSettings 的类,从指定的 ..
发布时间:2021-12-26 11:00:52 C#/.NET

使用 Simple Injector abd WebFormsMVP 将运行时值传递给构造函数

我正在尝试将 SimpleInjector 与 WebFormsMvp 结合起来. 为了方便 DI WebFormsMvp 提供了 IPresenterFactory 接口. 它包含 Create 方法,该方法提供要解析的 presenter 类型 和 视图实例. 我需要将视图实例注入到构造函数演示者. 演示者也有其他依赖项需要由容器创建. 这是我目前得到的,但并不理想. 问题 ..
发布时间:2021-12-26 10:50:39 C#/.NET

如何使用 unity + UnityAutoRegistration 打开通用装饰器链接

在阅读了这篇关于命令处理程序的文章后,今天开始了一个有趣的切入点装饰.我想看看我是否可以使用 Unity 而不是 SimpleInjector 来实现该模式,但到目前为止,它被证明非常困难. 我必须做的第一件事是安装 UnityAutoRegistration 来解决开放的通用 ICommandHandler; 界面.目前该方面的解决方案如下: Container = new UnityC ..
发布时间:2021-12-26 10:48:30 C#/.NET

如何配置 Simple Injector 以在 ASP.NET MVC 中运行后台线程

我使用 Simple Injector 来管理我注入的依赖项的生命周期(在本例中为 UnitOfWork),我很高兴有一个单独的装饰器而不是我的服务或命令处理程序来负责保存在编写业务逻辑层时,处理使代码更容易(我遵循 这篇博文). 通过在构建组合根容器期间使用 Simple Injector MVC NuGet 包和以下代码,上述工作完美(并且非常容易),如果图形中存在多个依赖项,则同一实例 ..
发布时间:2021-12-26 10:45:16 C#/.NET

使用简单注入器实现每线程和每 Web 请求的混合生活方式

我使用 SimpleInjector 作为我的 IoC 库.我根据网络请求注册 DbContext 并且它工作正常.但是有一项任务是我在后台线程中运行的.所以,我在创建 DbContext 实例时遇到了问题.例如 Service1 有一个 DbContext 的实例Service2 有一个 DbContext 的实例 Service1 和 Service2 从后台线程运行. Servi ..

简单的注入器:注册 ILogger<T>通过使用 ILoggerFactory.CreateLogger()

我正在处理一个使用 Simple Injector 作为依赖注入器的项目.另一方面,该项目使用 Microsoft.Extensions.Logging 来记录某些类中发生的事件. 我的技术问题很容易解释.我想在我的 DI 中注册独立于被调用的类 T 的 ILogger,但是我需要从我的 ILoggerFactory.CreateLogger()方法,因为这使用 Microsoft.Exte ..

带有 DI 简单注入器的 log4net

我正在尝试使用 Simple Injector(+ 集成 MVC)v 2.5.2.对于 MVC 4 应用程序,我还需要跟踪/记录性能(执行)(通过 log4net 模块).当前实现(在运行期间)在指定路径中创建 log4net 文件,但没有将任何文本行写入其中(当我调试它时,一切都没有错误到 _logger.Info("message") ). 是否有人尝试将 Simple Injector ..
发布时间:2021-12-26 10:31:56 C#/.NET

避免需要异步初始化的类型的所有 DI 反模式

我有一个类型 Connections 需要异步初始化.这种类型的实例被其他几种类型(例如,Storage)使用,每个类型也需要异步初始化(静态,不是每个实例,这些初始化也依赖于 Connections).最后,我的逻辑类型(例如,Logic)使用这些存储实例.目前使用的是 Simple Injector. 我尝试了几种不同的解决方案,但总有一个反模式存在. 显式初始化(​​时间耦合) ..

简单注入器无法在 Web API 控制器中注入依赖项

我正在尝试使用 Simple Injector 执行一些基本的构造函数 DI,但它似乎无法解析 Web API 控制器的依赖项. 我在“API"文件夹中有一个 API 控制器,位于“Controllers"文件夹之外. 我也尝试将它放在“Controllers"文件夹中,但是这似乎没有太大区别.堆栈跟踪我收到的类似于 这个问题. 我正在使用全新安装的“Simple Injector MV ..
发布时间:2021-12-20 12:47:40 C#/.NET

在单元测试中使用 DI 容器

我们一直在使用 Simple Injector 并在相当大的应用中取得了巨大成功.我们一直在为我们所有的生产类使用构造函数注入,并配置 Simple Injector 来填充所有内容,并且一切都很顺利. 不过,我们还没有使用 Simple Injector 来管理单元测试的依赖树.相反,我们一直在手动更新所有内容. 我只花了几天时间完成了一次重大重构,几乎所有时间都用于修复单元测试中这 ..

使用带有工作单元的简单注射器Windows 窗体中的存储库模式

我正在尝试在我的 Windows 窗体应用程序中实现 IoC.我的选择落在了 Simple Injector 上,因为它又快又轻.我还在我的应用程序中实现了工作单元和存储库模式.这是结构: 数据库上下文: 公共类 MemberContext : DbContext{公共成员上下文(): base("名称=成员上下文"){ }公共数据库集成员{得到;放;}protected override ..

简单的注入器和内部构造函数

我正在开发一个小型类库,并为我的 DI 使用 Simple Injector.类库有一个访问点(我猜是某种服务),它是 public 并且它有一些 internal 服务和存储库. 我看到 Simple Injector 不支持使用内部构造函数注入构造函数.例如,我的产品服务看起来像: 内部类 ProductService : IProductService{私有 IProductRep ..
发布时间:2021-11-17 02:56:39 其他开发

使用装饰器模式在通用存储库上实现的 AOP

我正在尝试构建一个原型,该原型使用装饰器将面向方面的编程应用于我的项目.我的项目的某些部分将使用通用存储库(用于简单的 CRUD),但最终我还将合并命令和查询处理程序(这些将执行特定任务,如 ProcessCustomerOrders 等).此外,我想在这里举例的跨领域关注点是安全性和日志记录. 另外,我知道我的示例代码不是使用装饰器模式,而只是我为这个原型提供上下文的代码示例. 我知 ..