问题标签 [structuremap3]
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.
asp.net-web-api - 结构映射无参数构造函数错误
我正在尝试使用 Web API 2 设置结构图版本 3.0.5.0。
我遵循了这个实现:Configuring dependency injection with ASP.NET Web API 2.1
但是,在对我的 ComplexesController 进行获取时出现此错误:
尝试创建类型为“ComplexesController”的控制器时发生错误。确保控制器有一个无参数的公共构造函数。
谁能看到我的结构图配置有什么问题?Create 方法永远不会被调用。
这是我的实现:
这个方法是在我的启动...
..这是控制器:
我的完整创业课程
c# - 使用 StructureMap 时如何查看控制器构造函数中的错误?
我将 StructureMap 3 与 MVC 5 一起使用。问题是,每当控制器构造函数中发生异常时,我都会得到一个误导性的 StructureMap 错误,而不是实际的错误。
例如,我有以下控制器:
每当我尝试从该控制器访问操作时,我都会收到以下 StructureMap 错误:
当控制器构造函数出现问题时,我该怎么做才能看到实际的异常?
c# - Structuremap3 DecorateAllWith
我一直在努力让 DecorateAllWith 处理通用接口。我在这里阅读了一些帖子,他们使用拦截器解决了这个问题,但他们似乎使用的是较旧的结构图版本,它似乎不是一个“干净”的解决方案。
我真的需要一些帮助才能让它与结构图 3 一起使用
我有一个通用存储库,我想用日志记录和缓存来装饰它
我有大约 20 个继承 IEntityRepository 的接口。示例 mu UserRepository
然后我有日志装饰器具体类型,我希望 IEntityRepository 的所有实例都用它来装饰
还是有其他更适合我想要完成的 IoC 容器?
编辑:有没有办法装饰从 IEntityRepository 继承的所有接口
asp.net-mvc - 无法使用 MVC5 获得结构图
我在 Visual Studio 2013 中创建了一个默认的 MVC5 Web 应用程序,并添加到 NuGet的StructureMap.MVC5包中。
我创建了一个 interfaceITester
和一个 implementation Tester
,我的控制器操作将 anITester
作为参数。
但是当我运行该项目时,我得到了错误Cannot create an instance of an interface
。
根据这个应该只是工作。如果我明确告诉 structuremap 使用Tester
for ITester
(而不是依赖默认约定),我也会得到相同的结果。
我之前将StructureMap.MVC4与 MVC4 Web 应用程序一起使用,没有任何问题。
c# - 使用 C# StructureMap.Mvc5 时将注入传递到基本控制器的最佳方法是什么?
使用 C# StructureMap.Mvc 时在基本控制器中进行注入的最佳方法是什么?
我可以想到这两种方法,不知道哪个更好。
- 从控制器参数到基本控制器参数(很好的方法,但当有许多控制器具有许多要注入的属性时会变得一团糟)
- 不要使用子控制器并在基本控制器构造函数中使用 ObjectFactory.CreateInstance() 启动所有注入(代码非常少且易于管理,但当控制器注入可用时不被视为良好做法)
提前致谢。
.net - 配置 StructureMap 3 注册表的 VerificationException
在未修补的 Windows 2012 数据中心操作系统上将我们的工作应用程序从 StructureMap 2.6.4.1 更新到 StructureMap 3.0.5.130 后,我们在 .NET 4.0 上从 ASP.NET MVC 4.0 应用程序配置 StructureMap 注册表时出现以下异常:
相同的应用程序在 Windows Server 2008 R2 机器上运行良好。显然,这是某种配置问题,可能是 Windows 更新问题,但有人知道要运行哪个 Windows 或 .NET 更新吗?我们无法关闭这台机器,我需要了解缺少的依赖项。
dependency-injection - 如何注册为单例或瞬态所有类型都使用 StructureMap 实现一个接口
我有两个接口说明服务必须是单例的还是瞬态的:
我在其他接口和类中实现了这个接口:
然后我在其他服务中注入 Session:
如何配置 StructureMap 以使实现 ISingleton 类型的所有实例请求都必须使用 Singleton 生命周期创建?
我试过了:
但是什么都没有......不工作,创建一个会话对象作为瞬态。
我也试过了:
没事了 ...
我已经看到如何使用温莎城堡做到这一点:
但我不知道如何使用 StructureMap ...
其他可能性是使用约定(IRegistrationConvention),但我不知道该怎么做,例如:
有人可以帮助我吗?
更新
我已经建立了一个约定:
这似乎可行,但它将每个类注册为插件类型,在这种情况下:
会话 => 会话 [单例] BookService => BookService [瞬态]
但是,如果我将 Session 作为 ISession 注入...由于 ISession 未注册而找不到实例...但是我可以使用默认对流...然后工作但将实例检索为瞬态...
调用 WhatDoIHave() 我可以看到它:
我能解决这个吗?
structuremap - StructureMap 约定 - Registy.AddType 和 Registry.For().Use() 之间的区别
简短的问题。registry.AddType(pluginType, type);
和之间存在一些差异registry.For(pluginType).Use(type);
?
代码:
和
使用 WhatDoIHave() 我可以看到相同的结果:
使用添加类型:
使用 For().Use():
唯一的区别在于描述...
有人吗?
asp.net-mvc-5 - PreApplicationStart 中的当前 URL
我正在使用 StructureMap.MVC5,它依赖 PreApplicationStart 方法来注册一个 HttpModule 并初始化 IoC 容器。此时是否可以获取页面正在执行的服务器名称,以便我可以在 IoC 初始化中设置特定于环境的属性?
c# - WinForms 和 StructureMap 默认生命周期
请考虑以下代码
当我调试上面的代码时,我意识到 (Uow , UserService.Uow , ProductService.Uow ) 对象实例是同一个实例。但是 PerRequest 是 StructureMap 默认的生命周期,那么为什么它们是同一个实例呢?