ioc-container相关内容
我们如何在网络应用程序中注册Shutdown钩子? 有什么办法可以在 web.xml 或 applicationContext.xml 中注册它? 我知道如果我们在主类中使用应用程序,那就很简单了. ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("ApplicationConte
..
我们一直在使用 Simple Injector 并在相当大的应用中取得了巨大成功.我们一直在为我们所有的生产类使用构造函数注入,并配置 Simple Injector 来填充所有内容,并且一切都很顺利. 不过,我们还没有使用 Simple Injector 来管理单元测试的依赖树.相反,我们一直在手动更新所有内容. 我只花了几天时间完成了一次重大重构,几乎所有时间都用于修复单元测试中这
..
我有一个 spring bean (dao) 对象,我通过以下 xml 在我的 ServletContext 中实例化: 此 bean 在我的 webapp-servlet.xml 文件中声明,并由我的应用程序在 ServletContext 中使用. 我也在使用
..
如何从容器中拉出本质上是瞬态的对象?我是否必须在容器中注册它们并注入需要类的构造函数?将所有内容注入构造函数的感觉并不好.也只是对于一个类,我不想创建 TypedFactory 并将工厂注入需要的类. 我想到的另一个想法是根据需要“新"它们.但我也在我的所有类中注入了一个 Logger 组件(通过属性).因此,如果我新建它们,则必须手动实例化这些类中的 Logger.我怎样才能继续在我的所有
..
我在 WCF 服务中使用 Autofac 作为 IoC.我有一种情况,我想将对象传递给嵌套类型(即未直接解析的类型,但在解析另一种类型时).据我了解,将此对象作为构造函数参数传递是 Autofac 中的首选方式.下面是这种情况的一个例子. 嵌套类型: 公共类 EventLogger;:IEventLogger{public EventLogger(IRepository reposi
..
我被这个SO问题触发关于 Autofac 的(.NET 4.0)协方差和逆变支持,现在我正在尝试实现类似的东西,但没有任何运气. 我想要实现的是以这样的方式配置 Autofac,当我解析单个具体的 IEventHandler(为了演示使用 container.Resolve,但通常当然使用构造函数注入),Autofac 将返回一个 MultipleDispatchEventHandler,它
..
我想知道在其自身内注册容器是否有任何副作用 IContainer 容器;ContainerBuilder builder = new ContainerBuilder();容器 = builder.Build();builder.RegisterInstance(container).As(); 并像这样使用它 builder.RegisterType().As().
..
我发现了一些 2008 年的基准测试结果,用于测试几个顶级 .NET DI/IoC 容器的性能 此处.但我一直无法找到任何更新的结果.是否有任何基准可以比较一些大型 IoC 容器(StructureMap、Unity、Ninject、Autofac、Castle Windsor 等)? 解决方案 我不建议使用性能基准来选择 IoC 容器.还有很多很多更重要的因素,例如功能集、开发路线图和可
..
我是 autofac 的新手,希望了解将运行时值传递给构造函数的最佳实践.我已经阅读了一堆 stackoverflow 问题,其中提出了这个问题,但没有一个是完全充实的.我们是否应该使用委托、工厂来创建服务等.我知道传递容器并不是实现这一目标的最佳方式. 在我的特殊情况下,我有一个服务可以访问多个依赖项,例如日志记录、数据提供程序等.除了传递的少数服务之外,我还有需要捕获的运行时参数,例如用
..
是否可以通过接口/类(通过构造函数和属性注入)将事件连接到 Autofac 的方法而不是整个对象.我想在函数级别而不是类型级别进行绑定.我希望以编程方式完成以下工作(在 C# 中): someType.Output += someOtherType.Input; 例如 Spring.net 确实支持以下构造来实现:
..
是否可以在运行时注册服务,这意味着在构建了 ContainerBuilder 并且创建了 Container(以及 ContainerBuilder代码>处置)? 解决方案 是的,你可以,使用 ContainerBuilder 上的 Update 方法: var newBuilder = new ContainerBuilder();newBuilder.Register...;newB
..
我是 IoC 的新手,正在我当前的项目中使用 Autofac. 我有以下两个类: 公共类 UserService : IUserService{私有只读 IUserRepository _repo;私有只读 IMailService _mailService;公共用户服务(IUserRepository 存储库,IMailService 邮件服务){_repo = 回购;_mailServ
..
我得到了一个包含许多实现 IHandler 的具体类型的程序集,例如: public class MoveCustomerHandler : IHandler{void IHandler.Handle(MoveCustomerCommand c){//一些用于移动客户的业务逻辑.}} 目前,我正在一一注册: builder.RegisterType().As
..
我有一个 MVC 3 Web 应用程序,我在其中使用实体框架进行数据访问.此外,我简单地使用了存储库模式,例如所有与产品相关的东西都在“ProductRepository"中处理.并且所有与用户相关的内容都在“UserRepository"中处理. 因此,我使用 UNITY 容器来创建 DataContext 的单例实例,并将其注入到每个存储库中.在 Google 上快速搜索,每个人都建议您
..
我正在看这个教程 http://asp-umb.neudesic.com/mvc/tutorials/validating-with-a-service-layer--cs 关于如何将我的验证数据包装在包装器周围. 不过我想使用依赖注入.我正在使用 ninject 2.0 命名空间 MvcApplication1.Models{公共接口 IValidationDictionary{void
..
我已经使用 StructureMap 一年多了.一直以来,我曾经有一个名为 IoC 的包装类,它看起来像这样 class IoC {public static T GetInstance(){返回 (T)GetInstance(typeof(T));}公共静态 IEnumerableGetAllInstances(){返回 ObjectFactory.GetAllInstances();}公共静
..
具有以下服务构造函数 公共类服务:IService{公共服务(IOtherService service1,IAnotherOne service2,字符串arg){}} 使用.NET Core IOC机制传递参数有哪些选择 services.AddSingleton();services.AddSingleton();services.AddSingleton(x =>新服务(servic
..
我在 Spring 3.x 中尝试了以下代码,但失败了 BeanNotFoundException 并且它应该根据我之前问过的一个问题的答案 - 我可以使用 Spring 注入同一个类吗? @Service公共类 UserService 实现服务{@自动连线私人服务自我;} 自从我用 Java 6 尝试这个之后,我发现以下代码工作正常: @Service(value = "someServi
..
我对 控制反转 (IoC) 在 Spring 中工作. 假设我有一个名为 UserServiceImpl 的服务类,它实现了 UserService 接口. 这将如何@Autowired? 在我的Controllers中,我将如何实例化这个服务的instance? 我会做以下事情吗? UserService userService = new UserServiceImp
..
我发现我的构造函数开始看起来像这样: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) 随着参数列表的不断增加.既然“Container"是我的依赖注入容器,为什么我不能这样做: public MyClass(Container con) 每个班级?有什么缺点?如果我这样做,感觉就像我在使用美化的静态
..