jjzjj

structuremap

全部标签

c# - StructureMap 无法使用注入(inject)实例进行 setter 注入(inject)

我在将实例注入(inject)结构图中进行测试时遇到问题。我的对象图看起来像这样internalclassConfigurationManager:IConfigurationManager:IManager{publicISomeManagerSomeManager{get;set;}}internalclassSomeManager:ISomeManager:IManager{publicIConfigurationManagerConfigurationManager{get;set;}}1)首先我创建容器并添加所有找到的注册表_container=newContainer(c=

c# - 如何使用 StructureMap 通过代码定义默认构造函数?

我不知道如何通过代码为StructureMap(版本2.5)中的类型定义默认构造函数(当它存在重载时)。我想获取一个服务实例,容器必须向其中注入(inject)一个Linq2Sql数据上下文实例。我在我的“Bootstrap”方法中写了这个:ForRequestedType().TheDefault.Is.OfConcreteType();当我运行我的应用程序时,出现此错误:StructureMapExceptionCode:202NoDefaultInstancedefinedforPluginFamilyMyNamespace.Data.SqlRepository.MyDataCo

c# - DI/IoC 容器性能基准比较?

我找到了一些2008年的基准测试结果,用于测试几个顶级.NETDI/IoC容器的性能here.但我一直无法找到任何更新的结果。是否有任何基准可以比较一些大型IoC容器(StructureMap、Unity、Ninject、Autofac、CaSTLeWindsor等)? 最佳答案 我不建议使用性能基准来选择IoC容器。还有很多很多更重要的因素,比如功能集、开发路线图和可维护性等。请注意,在最坏的情况下,您引用的基准测试在超过100万次调用时仅显示出3-4倍的速度差异。在“真实世界”场景中,DI/IoC用于连接依赖项,并且对整体应用程

c# - AddAllTypesOf 与 ConnectImplementationsToTypesClosing

我很好奇这两种方法之间的区别。我正在使用开放泛型实现装饰器模式,无论我使用AddAllTypesOf还是ConnectImplementationsToTypesClosing都没有关系,我得到了相同的功能。publicclassCommandRegistry:Registry{publicCommandRegistry(){For().Use().Transient();Scan(scanner=>{scanner.AssemblyContainingType();//scanner.AddAllTypesOf(typeof(CommandHandler));//scanner.Ad

c# - 映射器未初始化,使用 ProjectTo() 时

我在我的项目中使用Automapper5.2.0。当我在代码中使用ProjectTo()时出现此错误:Mappernotinitialized.CallInitializewithAppropriateconfiguration.Ifyouaretryingtousemapperinstancesthroughacontainerorotherwise,makesureyoudonothaveanycallstothestaticMapper.Mapmethods,andifyou'reusingProjectToorUseAsDataSourceextensionmethods,ma

c# - 映射器未初始化,使用 ProjectTo() 时

我在我的项目中使用Automapper5.2.0。当我在代码中使用ProjectTo()时出现此错误:Mappernotinitialized.CallInitializewithAppropriateconfiguration.Ifyouaretryingtousemapperinstancesthroughacontainerorotherwise,makesureyoudonothaveanycallstothestaticMapper.Mapmethods,andifyou'reusingProjectToorUseAsDataSourceextensionmethods,ma

redis - 如何使用 Structuremap 在自定义命名空间中将 Redis 设置为缓存和 ServiceStack Web 应用程序上的 MQ

我想设置我的应用程序以使用Redis作为session等的缓存以及运行我的消息队列。我的应用程序是一个ASP.netMVC网站以及基于ServiceStack的Json服务提供商。最佳配置方式是什么?我希望能够将IMessageQueueClient传递到我的服务类和Controller中,以便我可以将任务添加到队列中。我对制作什么的范围有点迷茫。我的代码如下://RedisClientManagervarpooledClientManager=newPooledRedisClientManager(ConfigurationManager.AppSettings.Get("Redis

c# - 自动将 Interface<T> 解析为 StructureMap 中的 Implementation<T>(仅泛型类型 T 不同)

我有一个接口(interface)(IRepository),目前正在为每个特定的存储库扩展,即:IUserRepository:IRepository.这些接口(interface)中的每一个都有对应的具体类,即:UserRepository:Repository,IUserRepository.这些单独的存储库不添加任何附加功能,它们都是空接口(interface)/类,仅用于传递泛型。我使用StructureMap来解析IUserRepository进入UserRepository将注册表与程序集扫描器和一些命名约定结合使用。我希望它能进入一种更优化的状态,而不是传递IUserR

c# - StructureMap 单例用法(一个实现两个接口(interface)的类)

publicinterfaceIInterface1{}publicinterfaceIInterface2{}publicclassMyClass:IInterface1,IInterface2{}...ObjectFactory.Initialize(x=>{x.For().Singleton().Use();x.For().Singleton().Use();});varx=ObjectFactory.GetInstance();vary=ObjectFactory.GetInstance();我用上面的代码得到了两个不同的MyClass实例。我怎样才能得到一个?

c# - 如何使用具有 "greedy"构造函数的 Scan 将 StructureMap 与通用未封闭类型一起使用

在各种StackOverflow问题和博客文章之间,有大量关于开放泛型和StructureMap主题的文档。不幸的是,我在尝试使用scan时一定遗漏了一些东西。执行配置以及具有“贪婪”构造函数的类实现尚未起作用。我希望StructureMap通过引用其实现的接口(interface)来获取以下类的实例。ToCsvService存在于名为Infrastructure的未引用程序集中。IToCsvService存在于一个名为Core的引用程序集中。如你看到的ToCsvService有一个“贪婪”的构造函数。publicclassToCsvService:IToCsvService{publ