首页 > TAG信息列表 > simple-injector

c#-使用简单注入器解析通用接口

想知道是否有可能实现以下目标: container.GetInstance<IWordFacade<,,,>>(); 到目前为止,我还没有做到.以下是一些代码示例: IWordFacade<T1,T2,T3,T4>{ T1 DoSomething(T2); } public class ConcreteFacade1 : IWordFacade<int,long,double,decimal>{ int DoSomething(

结合WCF和“常规”注册的SimpleInjector

我正在开发Windows服务,它将承载两件事: > WCF服务>定期执行作业的“常规” Windows服务(使用Quartz.net) 因此,基本上,一个应用程序(可执行)承载这两种服务类型. 这两种服务类型都需要使用存储库和其他注入的依赖项.我正在使用SimpleInjector. 我已经使用SimpleInjectors WCF扩展来

C#-获取通用服务类型的所有实现-包括开放通用

背景 我正在编写一些集成测试,在其中测试特定接口IQueryMapping< TSource,TDest>的实现.存在该接口以从IQueryable< TSource>映射.到IQueryable< TDest>.我要确保他们这样做 使用Entity Framework编译查询时不会抛出异常. 任务 我很懒,我不想每次创建新映射都必须更新测试!我要做的

c#-简单的注入器依赖项解析错误-无法加载文件或程序集System.Web.Http

我正在遵循洋葱体系结构,并在DependencyResolution项目中使用简单的注射器.这是我的架构: 1-Core - Domain Classes - Repository Interfaces - Service Interfaces 2-Infrastructure - Data - Dependency Resolution - Repository Interfaces Imple

C#-简单注入器-装饰器导致容器未被垃圾收集?

我注意到,当我通过简单的注入器添加装饰器时,该容器不会超出范围.有人知道这是否可以预期吗?如果我不添加装饰器,则说明该容器是垃圾收集的.否则,不是.我应该采取什么措施来强制清理? 这是一个简单的例子.如果添加了装饰器,则在“运行”完成后,容器仍在内存中.如果未添加装饰器,则容

CodeGo.net>如何使用SimpleInjector 3单元测试装饰器注册?

在这里跟进an older question.假设我的注册如下: container.Register(typeof(IHandleCommand<>), _handlerAssemblies, Lifestyle.Transient); container.RegisterDecorator(typeof(IHandleCommand<>), typeof(MetricsCommandHandlerWrapper<>), Lifestyle.Singleton)

c#-MediatR和SimpleInjector的依赖项范围问题

我一直在使用使用实体框架进行数据访问的WinForms应用程序中使用MediatR库尝试使用中介模式和CQRS.该应用程序用于批生产工厂,并允许用户查看有效和已完成批的列表,并在必要时更新批信息.每个批次都有大量与之相关的信息,例如质量和过程测量.基于以下文章,读写数据被组织为“查询和

我如何将依赖项注入到.Net Core项目中的自定义WebHostService中?

我正在尝试创建一个将作为Windows服务运行的服务,如here所述.我的问题是示例Web主机服务构造函数仅采用IWebHost参数.我的服务需要一个类似以下的构造函数: public static class HostExtensions { public static void RunAsMyService(this IWebHost host) { var we

c#-Simple Injector是否可以结合TypeFactoryContext向实例工厂注册?

我正在开发一个非常需要根据SOLID原则进行重构的旧代码库.第一步,我们将简单注入器依赖项注入容器添加到混合中. 对于其中一项注册,我需要非常类似于Log4Net的RegisterConditional示例的东西,即: container.RegisterConditional( typeof(ILogger), c => typeof(Logger<>).M

C#单元测试-模拟,存根或使用显式实现

之前已经对此进行了多次讨论,但是以下示例中的优点并不明显,因此请耐心等待. 我正在尝试确定是否在单元测试中使用模拟实现,并且给出以下两个示例,我不确定,第一个使用NSubstitute进行模拟,第二个使用SimpleInjector(Bootstrapper对象)解决的实现. 本质上,两者都在测试同一件事,即

c#-基本的DI / IoC问题-体系结构,SimpleInjector

关于以下类型的体系结构设置IoC容器时,我有一个简单的挂断. 在我的应用程序中,我有这样的图层(从下到上): > Project.Domain > Project.Web(System.Web.Http等,以及一些核心HTTP类型逻辑) >在这个项目中有一个BaseController >在Web API 2.2中实现GET / POST等的Project.MicroServic

c#-在Simple Injector中使用运行时数据获取实例

我有一个基于数据库中的用户配置来构建其用户界面的应用程序.我创建了一个名为IAction的接口,它看起来像这样; public interface IAction { ActionType ActionType { get; } bool CanExecute { get; } void Configure(ActionConfigDto config); void Execute(); }

c#-简单注入器-将接口的特定实现注入到特定控制器

我有两个实现相同接口的搜索服务.其中一个仅用于搜索一小组内部Umbraco内容,另一个用于同时搜索Umbraco和外部内容,并且使用默认搜索引擎以外的其他内容.我希望保留它们两者,因为它们各自的性能都很好,它们都使用了它所使用的数据集. 是否可以在Simple Injector中指定何时注入哪个

c#-在Simple Injector中注册具有原始配置依赖项的装饰器

我有一个IAppSettingsLoader接口,该接口抽象了文件IO以加载我的app.config文件. public interface IAppSettingsLoader { IEnumerable<KeyValuePair<string, string>> LoadAppSettings(); } 我有一个加载实际文件的类: public class FileAppSettignsLoader : IAppSettingsLoa

的RegisterPerWebRequest已过时,我可以使用Lifestyle.Scoped吗?

我只是在检查我的理智.这是我的代码,使用simpleinjector 3.3.2 Container.RegisterPerWebRequest<HttpContextBase>(() => { var context = HttpContext.Current; if (context == null && Container.IsVerifying) return new FakeHttpContext(); return new HttpConte

CodeGo.net>如何在Simple Injector版本3.0.0中定义DefaultScopedLifestyle?

我正在使用简单注入器的项目中进行依赖项注入,并且可以正常工作,直到在该特定版本3.0.0中解决依赖项时需要定义生活方式(我正在使用此版本,因为我正在使用Visual Studio 2010) . 在官方文档中,它说我可以使用以下代码行定义依赖项的生活方式: container.Register<IService, RealSer

C#-简单注入器注入IEnumerable>

如何注入IEnumerable< Func< T>使用简单注射器? 仅添加一些上下文,我试图创建所有知道如何处理一个特定事件的EventHandlers.这是我的容器注册: container.RegisterCollection(typeof(IHandleDomainEvent<>), AppDomain.CurrentDomain.GetAssemblies()); 这里是实现IHandleEven

CodeGo.net>如何使用FluentScheduler正确配置简单注入器

我有以下用于Simple Injector的配置. public class SimpleInjectorIntegrator { private static Container container; public static Container Setup() { container = new Container(); container.Options.DefaultScopedLifestyle = Lifestyle.Cre

c# – 当它只有一个具体的时候,如何让简单的注入器自动解析接口?

目前我有一个webapi控制器,其构造函数如下: readonly IQueryFactory queryFactory; readonly ICommandFactory commandFactory; public UserBenefitsController( IQueryFactory queryFactory, ICommandFactory commandFactory) { this.queryFactory = queryFactory;

c# – 对于WPF窗口中介服务,使用Simple Injector按键解析实例的替代方法是什么?

看看“Resolve instances by key”部分 在Simple Injector网站上,我使用了建议的IRequestHandlerFactory实现来改进下面的代码,但注意事项如下: Note: The need for keyed registration can be an indication of ambiguity in the application design and a sign of a Liskov Subs

c# – 我应该将存储库接口与域模型分离

假设我有一些需要一些IEnumerable< Foo>的DDD服务.执行一些计算.我想出了两个设计: >使用IFooRepository接口抽象数据访问,这是非常典型的 public class FooService { private readonly IFooRepository _fooRepository; public FooService(IFooRepository fooRepository)

c# – SimpleInjector可以在运行时为泛型类型注册初始值设定项吗?

我可以在运行时使用SimpleInjector为Generic类型注册初始值设定项吗? (见下面的最后一行代码) public class BootStrapper { Type baseTypeGeneric = typeof(Sample<>); public void BootStrap(Container container) { var types = from type in A

c# – 简单的注入器注册自动化器

我想用Simple Injector注册Automapper,将它注入控制器: public class MyController : BaseController { private IUnitOfWork unitOfWork; private IMappingEngine mappingEngine; public PatientController(IUnitOfWork _unitOfWork, IMappingEngine _mappingEngine)

c# – 使用依赖注入管理HttpClient的多个实例

我正在为我的Web应用程序正在与之通信的每个不同的API创建一个HttpClient实例. 我想使用依赖注入SimpleInjector将HttpClient注入业务类.例如,我有ITwitterBusiness和IInstagramBusiness,他们都在他们的构造函数中接受HttpClient. 使用依赖注入注册多个相同类型的对象时,最佳做法是

c# – 与SignalR共享ServiceStack ICacheClient

我正在尝试在ServiceStack OOB ICacheClient和SignalR Hub之间共享缓存中的元素,但是当我尝试在OnDisconnected事件中获取用户会话时,我收到以下错误 Only ASP.NET Requests accessible via Singletons are supported 我在OnConnected事件中访问会话没有问题,到目前为止,这就是