inversion-of-control相关内容

如何注册使用TinyIOC通用接口

假设我有一个通用的接口和一个通用的实现。如何注册所有用途? 具体而言,我有以下的(减少为简单起见): 公共接口IRepository< T>其中T:TableEntity { 牛逼GetById(字符串partitionKey,串rowKey); 无效插入(T实体); 无效更新(T实体); 无效更新(字符串partitionKey,串rowKey,动 ..
发布时间:2015-11-26 21:15:58 C#/.NET

可以Castle.Windsor做的具体类型自动解析

我们正在评估的IoC容器C#项目,都团结Castle.Windsor都站出来。我喜欢团结(NInject和StructureMap也是这样做)的一个事情是,各类地方是显而易见的如何构建他们不必与IoC容器注册。 有没有办法做到这一点的Castle.Windsor?我是不是公平的Castle.Windsor地说,它不这样做呢?是否有一个设计的理由故意不这样做,或者是一个疏忽,或者只是不被视为重要的 ..
发布时间:2015-11-26 21:10:24 C#/.NET

项目 - 嵌入式IoC容器

我要寻找一个非常简单和轻巧的IoC容器的的C#源代码可以被包含在我自己的项目的(因此不能使外部参考)。 这样做的原因是,我写的基础设施,并愿意提供一个.dll文件,无需任何额外的依赖。 我也不想ILMerge我的组装与IOC大会。 我想到了MEF,其他一些建议吗? 解决方案 如果您使用的是.NET 4.0,你有MEF包括在内。 对于.NET 2我曾经写过使用接口与思考类似的东西。有很多 ..
发布时间:2015-11-26 21:03:09 C#/.NET

你可以注册在温莎容器的类型的现有实例?

在温莎IOC容器是可以注册的,而不是具有容器创建它,我已经有了一个实例的类型,? 解决方案 对于所用容器的核心属性AddComponentInstance方法。 从单元测试: [测试] 公共无效AddComponentInstance() { CustomerImpl客户=新CustomerImpl(); kernel.AddComponentInstance(“钥匙”的typeof( ..
发布时间:2015-11-26 20:41:41 C#/.NET

DI CompositionRoot多WCF服务主机

我们正在开发一种将动态加载服务的基础上配置一个selfhosted WCF服务主机。 我想知道阉我应该考虑每个服务作为一个小型应用程序,并使用组成的根在每个托管服务或使用组合根服务主机本身? 您输入多少AP preciated! 解决方案 其成分根元的服务是好的,但如果你能,让你的WCF服务只包含1服务有两种方法:一种方法,可以让你执行查询对象,一种方法,可以让你执行命令。这样,您将还有一 ..
发布时间:2015-11-26 19:51:46 C#/.NET

统一2.0 IOC配置有关通用类

我想要一些仓库类扩展一个共同的通用类来执行一些常用的操作,问题是:如何为配置一个UserExRepository类型在配置文件 公共类UserExRepository:库<使用者>中IUserEx { 公共UserExRepository(上下文的背景下):基地(上下文){} } 公共抽象类库< TObject的> :IRepository< TObjec ..
发布时间:2015-11-26 19:20:50 C#/.NET

依赖注入 - 如果依赖的寿命短于依赖对象?

我认识到,DI是一个非常灵活的设计模式,但我在努力接受它作为我的'尚方宝剑'创建脱钩code。 这里的原因:当依赖对象具有更长的寿命比它被注射了依赖关系会发生什么? 示例应用程序:我有一个实例化我的应用程序的生命周期一个 BusinessLogic 类。这个类需要一个的DataContext 对象执行数据库操作。我有thefore创建了一个抽象的 DataContextFactory 有两种实 ..

未能从程序集“mscorlib程序加载类型System.Reflection.IntrospectionExtensions”

我使用的是统一的IoC(Microsoft.P​​ractices.Unity),我可以编译罚款,但我得到了下面的错误在运行时: 未能从程序集“mscorlib程序,版本= 4.0.0.0,文化=中性公钥= b77a5c561934e089”加载类型“System.Reflection.IntrospectionExtensions”。 的统一版本:3.0.1026.0 有没有和. ..
发布时间:2015-11-26 18:51:12 C#/.NET

如何把这种服务定位器模式转变为真正的依赖注入模式?

我问一个更普遍的问题在一分钟前:其实,我看了那篇文章只是一天,但显然还没有完全掌握它。 所以我们可以说我有以下的code: 接口ICardReader { 字符串的GetInfo(); 无效SetDebugMode(布尔值); void初始化(字符串accountToken); 无效ShowAmount(串金额); 无效关闭(); ICreditCardInfo GetCardInfo(); } ..

我应该通过IOC容器构建?

你如何确定哪些类应通过IOC容器,哪些不应该构成。我已经在项目两个​​极端工作,好像接口,当班组长规定如日志或数据访问的特定technoliogy应该只被使用? 在哪里的人吸取上述两种之间的界限? 解决方案 我不画任何线 - 越多,越多越好 什么情况是,你越能设法分散你的API中的小户型,越接近你到了的单一职责原则,因为一切都隐藏在接口后面将有一种倾向,只做一件事,把它做好。 通过注入接 ..
发布时间:2015-11-26 18:02:23 C#/.NET

温莎城堡:你如何添加一个调用的XML工厂设施不?

我知道如何告诉温莎城堡解决从使用XML工厂的方法的引用,但我可以通过Container.AddComponent()接口编程方式做到这一点?如果不是还有什么其他办法从code办呢? 编辑: 似乎有一些混乱,所以让我澄清,我正在寻找一种方式做code以下内容: <设备> <设施 的id =“factory.support” TYPE =“C ..
发布时间:2015-11-26 16:36:56 C#/.NET

如果基础设施的依赖注入?

有了这样的记录器,安全,配置等基础设施项目,如果这些东西确实被注入到每一个需要他们或他们应该被注入到服务定位器,然后类可以使用的服务定位器来解决依赖类(或者一些其它机制)? 这只是看起来真是可笑具有10个参数的构建函数通过DI来满足相关的所有类。它是一种code气味海事组织。我能理解像仓库或服务代理/连接器,但不能登录。 解决方案 这一切都取决于你在哪里画的基础设施和的code中的其余部分之 ..
发布时间:2015-11-26 10:45:09 C#/.NET

DI是否有意义的桌面应用程序?

我要创建一个桌面应用程序(使用.NET Windows窗体) 从本质上讲,我想创建一个n层应用程序,但我也想层之间的松耦合。但是,我不是很确定这是否是Windows窗体一个好的方法 而现在我只是想知道这将是非常明智的选择使用任何的IoC(StructureMap,Ninject,Spring.Net),我以前使用过的Asp.Net Web应用程序,但是是什么让我怀疑现在的事实与Windows的 ..

构造函数依赖注入的基类

我要建实体框架的存储库的基类,所有实体存储库将继承。我想用用Ninject依赖注入在基类中注入 DatabaseContext 。我认为,构造函数注入是正确的做法,但我这样做与构造函数注入在派生类将必须通过参数的构造函数的基类,我不希望它。因此,Setter注入是比较合适的? 下面是我的code: 公共抽象类BaseRepository< TEntity> :IDisposable ..
发布时间:2015-11-26 10:35:51 C#/.NET

是否Funq IOC容器支持财产注射?

我在寻找一个IoC容器我Compact Framework的应用程序中使用。试行Funq我注意到,我无法找到一个方法来做到物业注射用它。 我已经通过对项目的站点和单元测试它的讨论看,但我找不到物业注入的任何实例。 是否Funq支持地产注入? 解决方案 嗯那不是一般要这样呢? myContainer.Register< IUserRepository>(()=> ..

懒惰依赖注入

我所在的Ninject作为IoC容器的项目。我担心的是,很多类有这样那样的构造函数: [注入] 公共HomeController的(的UserManager的UserManager,RoleManager roleManager,BlahblahManager blahblahManager){ _userManager =的UserManager; _roleManager = ..
发布时间:2015-11-26 10:25:02 C#/.NET