首页 文章
  • 58 votes
     answers
     views

    Ninject模块的目的是什么?

    我是ninject的完全新手 我一直在拉开其他人的代码,发现了几个nInject模块实例 - 从Ninject.Modules.Module派生的类,并且有一个包含大部分代码的加载方法 . 通过调用StandardKernel实例的LoadModule方法并将其传递给模块类的实例来调用这些类 . 也许我在这里遗漏了一些明显的东西,但是这对于创建一个普通的旧类并调用它的方法,或者使用静态方法的静态类...
  • 62 votes
     answers
     views

    使用Ninject在构造函数中使用其他参数创建实例

    我决定开始使用Ninject并面临一个问题 . 说我有以下场景 . 我有一个 IService 接口和2个实现此接口的类 . 而且我还有一个类,它有一个构造函数获取IService和 int . 如何使用Ninject创建此类的实例(我不想硬连接这个int,我想在每次获取实例时都传递它)? 这是一些说明情况的代码: interface IService { void Func(); } ...
  • 2 votes
     answers
     views

    使用Ninject将接口绑定到编译时未知的多个实现

    我刚刚开始在我的ASP.NET MVC 3应用程序中使用Ninject(v2.2.0.0) . 到目前为止,我很高兴它,但我遇到了一个我似乎无法弄清楚的情况 . 我想做的是将接口绑定到具体的实现,让Ninject能够使用工厂将具体实现注入到构造函数中(也将在Ninject中注册) . 问题是我希望我的构造函数引用具体类型,而不是接口 . 这是一个例子: public class SomeInter...
  • 10 votes
     answers
     views

    Ninject Factory Extension将多种混凝土类型绑定到一个界面

    简介: 我正在使用Ninject Factory Extension将简单的对象工厂注入我的服务类 . 这是我的界面和两个实现它的类: public interface ICar { void Drive(); void Stop(); } public class Mercedes : ICar { public void Drive() { Do ...
  • 1 votes
     answers
     views

    ninject工厂构造函数选择与运行时泛型

    如何使用ninject工厂,该工厂使用构造函数参数创建实例,而不依赖于参数名称 . 问题是 ToConstructor() -Method不起作用,因为我将它绑定到泛型定义 . 以下示例有效,如果我使用带有相应构造函数参数名称的factory方法,但我不喜欢它依赖于名称 . 因为以下解决方案非常脆弱,如果有人选择了错误的名称或重命名派生类中的ctor-argument,则会中断 . 有解决方案吗...
  • 0 votes
     answers
     views

    Ninject仅在注入IFactory.Create()方法时绑定

    我有一个 Foo 类派生自 IFoo ,然后是 IFooFactory ,我通过Ninject Factory Extensions方法设置: Bind<IFooFactory>().ToFactory() 然后我想确保任何调用者类通过 IFooFactory.Create() 获得 IFoo 实例,而不是仅仅在构造函数中请求 IFoo . 我试图像这样创建一个绑定: Bind&l...
  • 1 votes
     answers
     views

    为洋葱架构中的Ninject模块设置范围

    我在Visual Studio中有多个项目,每个程序集都有一个Ninject-Moduledefinition . 该解决方案的结构为“洋葱架构” . 模块仅在项目中加载,并引用程序集 . 我有这些图层 存储库 BusinessLayer Web-UI 目前,Web-UI-Layer不需要引用存储库,因为BusinessLayer的Ninject-Moduleloader得到了Re...
  • 1 votes
     answers
     views

    使用ASP.NET MVC和Ninject在洋葱架构中配置MassTransit

    我目前正在 Build 一个结构为洋葱架构的简单MVC应用程序 . 为简单起见,假设我有以下项目(目前无视业务和数据库层): Sample.Web - 这是ASP.NET MVC应用程序 Sample.Application - 包含应用程序服务 . Sample.Infrastructure - 包含基础结构服务 . 目前,我正在使用Ninject(虽然这可能会改变) . ...
  • 17 votes
     answers
     views

    使用Ninject和Entity Framework在WinForms中进行依赖注入

    我目前正在开发一个项目,我们将旧的DataSet,存储过程WinForm应用程序转换为使用实体框架,以便新网站可以访问相同的对象模型和存储库 . 无论如何,我正在尝试在表单中实现依赖注入,以便我们可以使用模拟的存储库进行单元测试 . 我使用Ninject的原因很简单,我之前在MVC网站中使用过Ninject,但是在WinForm应用程序中尝试实现这一点,至少可以证明是有问题的,因为在WinForm...
  • 1 votes
     answers
     views

    带有Ninject的SignalR已停止注入集线器依赖项

    在SO上使用对其他问题的回答,我设法使用Ninject使用SignalR进行依赖注入 . 但是在我的代码中,我忽略了一段时间,几周之后我又回头看了它 - 它似乎停止了工作,我似乎无法弄清楚为什么 . 我正在适当地创建我的Ninject内核: private static IKernel CreateKernel() { var kernel = new StandardKe...
  • 9 votes
     answers
     views

    Ninject与Unity3D

    Unity3D使用GameObjects . 您可以向这些游戏对象添加组件,其中组件是继承基类的脚本(在c#或js中) . Unity本身是用本机代码编写的 . 组件不能有构造函数,而是使用反射来查找是否有某些命名方法(OnStart,Update等) . 我认为我可以做以下事情,而不是让我的眼睛因为缺乏构造函数和其他非常讨厌的东西而流血 . public class SomeGameBehav...
  • 2 votes
     answers
     views

    NInject扩展工厂

    在阅读 NInject v3 上的新文档以及如何使用Factory Extension之后,显然我仍然没有完全得到它,因为我的代码抛出异常到处... 我得到这个例外,如果人们愿意,我可以粘贴整件事,但我会尽量保持简短 . 激活IDeployEntityContainer时出错没有匹配的绑定可用,并且该类型不可自我绑定 . 这是我的代码...... Ninject Bind Module类 cl...
  • 1 votes
     answers
     views

    使用.NET 4 System.ServiceProcess.ServiceBase将Ninject v2升级到v3

    我试图使用Ninject v3来测试.NET4 Windows服务( System.ServiceProcess.ServiceBase )中托管的Web服务 . 我创建了 MyServerModule : NinjectModule ,并且在 Load() 中,我根据 app.config 设置有条件地将我的接口绑定到运行时对象 . 在 ServiceBase.OnStart() 中,init步...
  • 3 votes
     answers
     views

    在Ninject中是否允许将IKernel注入到位?

    我正在学习Ninject和依赖注入,在我目前的设置中,我将IKernel传递到位,以便其他类可以实例化某些类或获取工厂实例 . 目前我已经将我的工厂绑定为单例,并将IKernel传递给一个对象,然后做 _kernel.Get<ISomethingFactory>().CreateSomething() 似乎可能有点代码味道,只是将Ninject变成一个美化的服务定位器 . 此外,我的工...
  • 3 votes
     answers
     views

    MVC请求的Ninject上下文绑定

    我有一个不寻常的情况将服务注入ASP.NET MVC控制器 . Controller提供单个动作来呈现页面上的侧栏菜单,注入Controller的服务是创建侧栏内容的工厂 . 该动作使用 [ChildActionOnly] 属性进行修饰:侧栏只能在渲染另一个动作时渲染 . 困难在于我想根据请求的页面(= Controller)注入侧栏工厂抽象的不同实例 . 以前,我使用的是一种抽象工厂,它使用控...
  • 0 votes
     answers
     views

    Ninject(IoC)和具有条件逻辑的工厂的替代品

    我遇到了一个我想用Ninject解决的场景,但到目前为止我的工作都没有遇到过这种情况 . WCF服务应用程序 W3C Log Parsing App(过于简单化以用于演示目的) . 由W3CLogItem实现的IW3CLogItem W3CLogItem具有IUrlData类型的公共成员(包含重要数据,但可以是5个具体实现之一,具体取决于它包含的内容) . 决定使用哪个具体实现是基于字符串匹配,其...
  • 1 votes
     answers
     views

    Ninject工厂根据枚举创建T

    我想让Ninject根据特定的枚举输入值解析T的实例 . 我已经阅读了有关Ninject工厂扩展的内容,但是我找不到工厂根据枚举解析特定类的任何示例 . 每个类派生自一个基类,派生类有几个不同的接口,Ninject也必须解决这些接口 . 例如,界面应如下所示: public interface IProcessFactory { T Create<T>(ProcessIndex...
  • 2 votes
     answers
     views

    用Ninject注入工厂字典

    我知道如何通过构造函数注入将一个或一组依赖接口实例注入到类中 . 但是,在我目前的情况下,我有一个不同的任务 . 我有几个类,每个类都有一个关联的"Processor"类 . 这些处理器正在实现相同的 IProcessor 接口,并且常见的 Processor 类将使用适当的处理器处理对象集合 . 为类型创建处理器可能很昂贵,所以我需要这样做 . 代码看起来像这样 . publ...
  • 2 votes
     answers
     views

    通用接口依赖注入工厂

    我正在玩DI和Ninject . 我愿意接受有关如何以另一种方式解决这个问题的建议 . 我正在努力确保可以替换ICreateOrders的具体实现 - 如果需要的话 . 也许还有另一种方式或模式? 像这样的解决方案:C# - Ninject, IoC and factory pattern很好但我希望将可能的创建者注入工厂并使工厂根据OrderRequest选择一个 . 这不起作用 . ker...
  • 1 votes
     answers
     views

    Ninject Factory:根据参数创建适当的类

    我有3个班: class SqlQueryService : IQueryService class FileQueryService : IQueryService class NCRFileQueryService : FileQueryService 我创建了一个接口工厂: public interface IQueryServiceFactory { IQueryS...
  • 4 votes
     answers
     views

    Serilog仅在构建后第一次调用时记录

    我有一个使用Ninject for IoC的ASP NET MVC项目 . 添加了Serilog Logger public class LoggingModule : BaseModule { public override void Load() { var fileName = "c:\path\file.log"; var l...
  • 1 votes
     answers
     views

    如何根据工厂参数 - >命名空间路径获取ninject绑定?

    我正在使用Ninject 3.0.1.10和来自NuGet的ninject.extensions.factory 3.0.1.0 - 在“真实”场景中我将使用ninject.extensions.conventions(而不是手动绑定IFoo),但我想保持这一点,试图简化问题 . 我有一个IFoo接口和它的多个实现,每个都在子命名空间和子文件夹下,名为Gen1和Gen2 . 我有一个IFooFa...
  • 1 votes
     answers
     views

    Ninject:ninject.web - 如何在常规ASP.Net Web上应用(!MVC)

    我正在寻找类似于下面的内容(http://github.com/ninject/ninject.web.mvc): README.markdown 此扩展允许Ninject核心和ASP.NET MVC项目之间的集成 . 要使用它,只需使您的HttpApplication(通常在Global.asax.cs中)扩展NinjectHttpApplication: public class YourW...
  • 3 votes
     answers
     views

    使用Ninject 2将参数传递给WCF ServiceHost类型

    我想使用Ninject.Wcf扩展来创建参数化服务主机实例 . 例如,我有一个类 MyWCFHandler ,只有以下构造函数: public MyWCFHandler(UserManager manager) { _manager = manager; } 但是当我写 var myServiceHost = new ServiceHost(typeof(MyWCFHandler)); 时,...
  • 1 votes
     answers
     views

    ninject如何在Asp.net MVC中执行依赖注入

    我通过apress学习Pro asp.net mvc2这本书,在书中作者使用ninject进行依赖注入 . 他继承了默认控件工厂: public class NinjectControllerFactory:DefaultControllerFactory 然后覆盖:GetControllerInstance 我有两个问题 . DefaultControllerFactory如何知道要加载哪个...
  • 14 votes
     answers
     views

    全局访问Ninject内核

    这个问题与Ninject没有特别的关系 . 这更像是一个通用的编码问题,但是我在这里发布它是为了防止在Ninject中处理问题的方法比我想做的更好 . 我想知道是否可以从Global.asax中的实例全局访问Ninject标准内核 . 这是代码: public class MvcApplication : NinjectHttpApplication { protected overrid...
  • 0 votes
     answers
     views

    如何在依赖项目中使用Ninject创建类的新实例? (不在自助项目中)

    我正在开发一个具有多层架构的项目 . 这些层在他们自己的类库项目中,但都在同一个解决方案中 . 在较低层,我有我的模型,存储库和dbcontext的存储库模式 . 在我的存储库之上有一个服务层,它包含我的所有业务逻辑 . 现在,我的单元测试中用于实例化和使用这些不同组件的代码如下所示: using (var context = m_kernel.Get<IPortalContext>(...
  • 1 votes
     answers
     views

    WPF应用程序中的Ninject:请求类型的实例

    我正在开发一个WPF应用程序,它具有很大的业务逻辑和数据处理能力 . 根据使用IoC的想法,我决定使用Ninject作为这部分逻辑和数据处理的依赖注入器 . 我初始化了ninject的内核,并使用 App.xaml.cs 文件中的具体类(即默认的app类)绑定了接口 . 到目前为止一切都很好 . 问题是在我的应用程序的某个地方我需要一个类的两个具体实例(我不想在构造函数中作为参数传递) . 其实我...
  • 5 votes
     answers
     views

    Ninject:构造函数参数

    我正在使用Ninject和ASP.NET MVC 4.我正在使用存储库并希望进行构造函数注入以将存储库传递给其中一个控制器 . 这是我的Repository接口: public interface IRepository<T> where T : TableServiceEntity { void Add(T item); void Delete(T item); ...
  • 6 votes
     answers
     views

    运行时绑定:一个简单的任务运行器与ninject?

    我正在编写一个简单的任务运行器应用程序 . 我有一堆实现ITask接口的类: public interface ITask { void Run(); } 我正在编写一个简单的控制台应用程序来创建ITasks实例,然后在每个应用程序上调用Run() . 任务实现使用构造函数注入,所以我想使用ninject . 我希望能够在运行时指定要运行哪些任务以及因此要激活哪些ITask实现 . 我想我...

热门问题