问题标签 [structuremap]

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 投票
3 回答
1325 浏览

nhibernate - 我可以在 NHibernate 中替换对 Activator.CreateInstance() 的调用吗?

有没有办法替换 NHibernate 2.0.1GA 中使用的对 Activator.CreateInstance() 的调用来构造实体?理想情况下,我想用 StructureMap.ObjectFactory.GetInstance() 替换它。

0 投票
1 回答
132 浏览

.net - 如何使用自定义配置xml文件?

我将使用 StructureMap 作为 DI 的一种方式。我将使用 xml 作为我的 DI 配置。我有两个问题。

第一个是如何使用自定义的xml文件名而不是StructureMap.Config?例如,在我的控制台应用程序中,如果我想使用 myDIStructure.config 文件,我应该在 main() 中使用什么类和方法:

第二个问题是我如何在配置文件中定义具有类类型的通用接口。例如,我有以下接口和类:

然后在我的控制台应用程序中,我想将 PlugInFamily 用于 ProcessData 接口类型,将 Plugin 用于 MyProcessData。不确定这在 StructionMap 中是否可行以及如何实现?

0 投票
2 回答
4792 浏览

entity-framework - 实体框架 + POCO

我正在使用 MVVM 模式构建 WPF 应用程序。我们的堆栈如下所示:

SQL Server 2008 -> 实体框架

我们使用 StructureMap 进行依赖注入来注入我们的 DataFactory,它本质上为我们的 POCO 业务对象执行 CRUD。

ViewModel 将 DataFactory 用于 CRUD,而 xaml 是绑定到 POCO 中的属性的数据。

整个事情都很好,但我发现唯一有点烦人的是数据工厂。我们在选择时将 EF 对象中的每个属性复制到 POCO 中,而在更新/插入时则相反。

有没有办法像 Fluent 对 NHibernate 但使用实体框架一样自动化这个过程?

这是数据工厂中的示例插入方法:

声明一些类会很好,就像 Fluent 那样:

最后我的插入方法看起来像这样:

本质上,我将消除将数据从业务对象移动到实体框架工作对象的代码,这将在映射类中完成一次,并且不必为每个方法重复。

谢谢!

0 投票
2 回答
761 浏览

c# - 对于 CTOR 中的原始类型,如何使用 StructureMap

我有以下课程的CTOR:

我尝试了以下代码来进行 DI 映射:

我无法让 ObjectFactory.GetInstance<ILog>() 中的对象工作。我想在我有两个原始参数的情况下,我不能使用 WithCtorArg() 来匹配参数。那正确吗?注册我的映射的最佳方式是什么?

0 投票
4 回答
10179 浏览

c# - IoC、Dll 引用和程序集扫描

虽然这个问题与 StructureMap 有关,但我的一般问题是:

在代码中使用 IoC 容器连接组件(而不是通过xml配置)时,您通常需要对所有程序集的显式项目/构建引用吗?

为什么是单独的程序集?因为:


“抽象类位于与其具体实现不同的程序集中,是实现这种分离的好方法。” -框架设计指南 p.91


例子:

假设我有PersonBase.dllBob.dll

Bob继承自抽象类PersonBase。它们都在Person命名空间中。但在不同的程序集中

我正在编程PersonBase,而不是Bob

回到我的主要代码,我需要一个人。StructureMap 可以扫描程序集。太好了,我会向 StructureMap 要一个!

现在,在我的主要代码中,我当然只指PersonBase,而不是Bob。我实际上不希望我的代码知道任何关于Bob的信息。没有项目参考,没有 nuthin。这就是重点。

所以我想说:

没运气。什么是明确的,我想要鲍勃:

但是现在我不得不在我的项目中引用Bob.dll,这正是我不想要的。

我可以使用 Spring + Xml 配置来避免这种情况。但后来我回到 Spring + Xml 配置......!

我是否在使用 StructureMap 时遗漏了什么,或者作为一般原则,(流利的)IoC 配置是否需要对所有程序集的显式引用?

可能相关的问题:StructureMap 和扫描程序集

0 投票
1 回答
786 浏览

c# - Structuremap Stackoverflow Exception

I keep getting a stackoverflow exception when I call "GetInstance" (the last line). All, yes ALL of my types implement ITracker. MultiTracker has a constructor with a single parameter, which is an array of ITracker's.

It seems like StructureMap is ignoring the fact that I told it that MultiTracker is the default class I want when requesting the type ITracker.

I just can't get it to work. Any thoughts?

0 投票
1 回答
377 浏览

inversion-of-control - 您通常将 StructureMap 注册表类放在您的解决方案中的什么位置?

这是当前的布局:

解决方案:

    • 领域
    • 接口
  • 数据访问

    • 提供者
    • 会议
  • 服务

  • 用户界面

  • 单元测试

  • 集成测试

我通常会尽量保持我的核心域实体/ POCO 尽可能轻而没有太多外部依赖项。所以我认为将它放在服务层中可能是有意义的,因为它通常具有对所有层的项目引用。

我注意到在 CodeCampServer 中,他们实际上为他们的 IoC 配置创建了一个名为 DependencyResolution 的单独项目:

http://code.google.com/p/codecampserver/source/browse/trunk#trunk/src/DependencyResolution

想法?

0 投票
2 回答
256 浏览

structuremap - 使用 Structuremap 的真正开源项目?

我想学习结构映射以及如何安排/构建我的 DI 代码,是否有任何使用 StructureMap 的开源项目可供我参考?

0 投票
2 回答
1986 浏览

webforms - 使用 Web 表单和 DI 对象实例化的 MVP 模式

我正在使用通用存储库模式来保存我的数据。在 PageLoad 上,我正在创建一个新的 Repository(来自 IRepository)对象,在 PageUnload 上,我将其处理掉。

MasterPage/Page 应该负责实例化传递给演示者的对象,还是应该由演示者负责?我更关心的是测试演示者而不是页面(视图),因为它更容易模拟传递给演示者的接口。

示例页面

在这种情况下,诸如 StructureMap 或 Ninject 之类的 DI 框架会有所帮助吗?它会负责处理此类物品吗?

0 投票
4 回答
16837 浏览

asp.net-mvc - ASP.NET MVC: HTTPContext and Dependency Injection

Currently I have an ActionFilter that gets the current users name from HttpContext and passes it into the action which uses it on a service method. eg:

I now have a reason to do this not at the action level but the controller constructor level. Currently I'm using structure map to create controllers and inject the service. I'm looking at something like:

That said, my IoC foo is really weak as this is the first project I've used it on.

So my question is... how can I tell structure map to pass in HttpContext in the constructor for HttpContextUserProvider? This just seems weird... I'm not sure how to think of HttpContext.