问题标签 [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.

0 投票
1 回答
137 浏览

asp.net-mvc - StructureMap:如何将 IUser 注入构造函数

我有一个 ASP.NET MVC 5 网站,我想从我自己的类(不知道 http 上下文)访问当前用户信息。我怎样才能将它注入那个类?

显然,我什至不能注入IUserMVC 控制器。它抛出这个错误。

System.MissingMethodException:没有为此对象定义无参数构造函数

我不想手动传递用户信息。

谢谢

0 投票
2 回答
333 浏览

authentication - 如何从 NancyFx 的容器中注册和获取 IUserIdentity?

我将 FluentValidation 与 NancyFx 一起使用。我想针对当前上下文验证一些数据,完全针对当前用户。不幸的是,我找不到任何示例如何注册并从容器(我正在使用 StructureMap)中获取此类信息。

Docs “上下文应该在 Nancy 的大多数地方都可用,因此获取调用当前请求的用户的身份永远不会成为问题。” 但容器默认没有它。

有链接吗,路线?

我会很感激你的帮助。

0 投票
1 回答
1290 浏览

structuremap - 开放泛型类型上的 StructureMap GetAllInstances

我是 StructureMap 的新手,正在尝试一个简单的场景

我扫描基本文件夹中的所有程序集并查找实现我的开放通用接口的类型。

这可行,我可以看到它注册了所有此类类型,但是在获取所有类型的列表时,我遇到了以下语句返回 null 的问题。

但是,我可以毫无问题地使用具体类型名称获取类型

所以我想要得到的是实现 IHandler<> 的所有类型的列表,因为我不知道具体的类型名称,并且稍后在每个对象上调用接口方法来找出要使用的正确对象。

不确定是否可能,但如果 StructureMap 允许我调用接口方法并仅获取那些作为方法调用的结果返回例如 true 的类型,那就更好了。

谢谢,杰。

0 投票
1 回答
1002 浏览

structuremap - 获取 StructureMap 容器的引用

我是 StructureMap 的新手,并且有一个场景,我想获得容器的句柄。

我正在 Global.asax 的 Application_Start 中构建一个 Web API 服务初始化 StructureMap 容器

但是想要访问我的控制器中的容器以获取容器中对象的实例。

我知道我可以调用 container.GetInstance 并指定要获取的类型,但是由于我没有使用 ObjectFactory 并在 Global.asax 中初始化了容器,所以我不知道在我的控制器中访问它的方法。

将容器引用从 Global.asax 传递给其余应用程序代码的最佳方式是什么?

谢谢,杰。

0 投票
1 回答
423 浏览

asp.net - 设置一个 StructureMap 嵌套容器以默认解析唯一的对象实例

根据StructureMap 的文档,容器的默认行为是父容器每次请求一个新对象实例时解析一个新对象实例,而嵌套容器解析相同的对象实例。

在 99% 的情况下这很好 - 但是我很想知道是否有一种方法可以设置嵌套容器的行为类似于父容器并默认解析新的对象实例 - 而无需依赖该.AlwaysUnique()方法。

这是可能的还是.AlwaysUnique唯一的方法来逐个对象地做到这一点?

0 投票
2 回答
2605 浏览

c# - 如何将 Structuremap 3 与对构造函数注入不友好的对象一起使用?

我正在从 StructureMap 2.x 迁移到 3.x。一个主要变化是使用ObjectFactory导致以下警告:

'StructureMap.ObjectFactory' 已过时:'ObjectFactory 将在 StructureMap 的未来 4.0 版本中删除。支持在未来的工作中使用 Container 类'

IContainer所以在大多数情况下,解决方法相当简单:作为构造函数传递。不幸的是,这对于 ASMX Web 服务或属性是不可行的,它们都需要默认构造函数。这意味着我可能会坚持使用服务定位器模式、属性注入或编写自己的 ObjectFactory 实现

处理这个不幸问题的首选方法是什么?

编辑:值得一提的是,我的容器进行了组装扫描。

0 投票
1 回答
1265 浏览

c# - StructureMap 认为它必须注入构造函数并抛出异常

我在我的应用程序中使用 StructureMap 和 ASP.Net Identity。当我有这条线时Application_Start

这是StructureMapControllerFactory

return ObjectFactory.GetInstance(controllerType) as Controller;抛出StructureMapConfigurationException异常说:

但是如果我删除ControllerBuilder.Current.SetControllerFactory(new StructureMapControllerFactory());行一切都很好,所以这是 StructureMap 的问题,而不是我的代码。

0 投票
1 回答
243 浏览

masstransit - 每个消息范围的 Masstransit Structuremap

我正在使用带有实体框架的存储库模式,我在每个存储库中注入 DbContext。我有多个存储库供单个 MassTransit 消费者使用。每个存储库必须在使用单个消息的范围内共享 DbContext。

我需要在 DbContext 上放置每个消息的生命周期范围。我怎样才能做到这一点?

0 投票
0 回答
231 浏览

asp.net-mvc - 在 ASP .Net MVC 中使用 StructureMap 注入会话

我正在尝试通过使用 StructureMap 为其提供接口来将 ASP .Net MVC 会话注入控制器。但是在尝试执行此操作时,StructureMap 抱怨在HttpContext.Current注册表初始化时未初始化。我确信有一种方法我还没有找到。请指出我正确的方向。

这是我的代码以获取更多信息:

DefaultRegistry.cs:

0 投票
0 回答
1002 浏览

asp.net-web-api2 - 值不能为空。参数名称:Web API2 项目中 StructureMap.WebApi2 的 httpContext

我已经为 Web API 2 项目使用了 StructureMap.WebApi2 nuget 包。Web API 控制器使用构造函数注入来注入应由 StructureMap Ioc 解决的存储库依赖项。现在,当我尝试运行项目时,我总是收到下面提到的错误:值不能为空。参数名称:httpContext 我试图检查 InnerException 但它的值为空。我从 StructureMapDependencyScope.cs StackTrace 得到这个异常:在 System.Web.HttpContextWrapper..ctor(HttpContext httpContext) at DemoStructureMapWebAPI.DependencyResolution.StructureMapDependencyScope.get_HttpContext() in c:\Users\sapatro\Documents\Visual Studio 2013\Projects \DemoStructureMapWebAPI\DemoStructureMapWebAPI\DependencyResolution\StructureMapDependencyScope.cs:第 69 行,位于 DemoStructureMapWebAPI.DependencyResolution。

谁能建议我解决上述问题的最佳方法?