草庐IT

c# - 使用 Ninject 过滤构造函数注入(inject)

我正在尝试找到一种使用Ninject将构造函数依赖项注入(inject)过滤器的方法。我发现许多文章描述了现在不建议使用的属性注入(inject),但其余文章涉及工厂、定位器、全局包装器或stub属性的复杂设置。MVC允许您覆盖其操作的几乎任何部分,我原以为这只是一个简单的案例,以类似于您创建自己的依赖项解析器的方式创建您自己的过滤器提供程序。现在允许注入(inject)的正确方法是什么,或者如果您使用某些类型的过滤器而不是其他类型,它会变得更容易吗?publicclassUserValidationAttribute:ActionFilterAttribute{privateIRep

c# - ninject 的循环依赖

我正在尝试找出如何使用ninject绑定(bind)这样的东西的正确方法。interfaceIMainService{voidDoStuff();}interfaceIOtherService{voidDoSomeMagic();}abstractclassBaseClass{//manystuffhere}classMainClass:BaseClass,IMainService{publicMainClass(IOtherServices){}publicvoidDoStuff(){thrownewNotImplementedException();}//domanyotherth

c# - 使用 Ninject 注入(inject)实现相同接口(interface)的不同类

我正在实现构建器设计模式来构造要在WPFUI上显示的不同类型的图形对象。我正在使用Ninject作为我的IOC容器。但是,我正试图找到一个优雅的可扩展解决方案。我有一个ChartDirector对象,它将IChartBuilder作为依赖项。我还有实现IChartBuilder的TemperatureChartBuilder和ThresholdChartBuilder。我想根据触发的事件或客户端调用将TemperatureChartBuilder或ThresholdChartBuilder注入(inject)ChartDirector。我在下面的代码中说明了我的问题。//ChartDi

c# - 使用 NUnit 在不同的应用程序域中运行单元测试

我似乎遇到了一个问题,我们正在使用的应用程序使用Ninject内核,并包含一个特定配置,该配置与WCF调用的内容(用户名、token...)一起收集。基于特定配置,用户被分配了对应用程序的权限,这通过Ninject内核中的特定实例被屏蔽。我们不能只重构Ninject内核,我们想要做的是运行几个Nunit测试,但在单独的应用程序域中运行它们中的每一个(每次都使用不同的设置重新创建内核)。我只找到了在不同的应用程序域中运行整个测试项目的方法,而不是针对每个测试进行测试。有办法解决吗?不幸的是,Ninject配置不在我们身边,我们必须以这种方式“忍受”它。 最佳答

c# - 你如何根据用户交替 Ninject 绑定(bind)?

这个问题需要一些上下文才能理解,所以我将从项目描述开始。项目背景我有一个开源项目,它是一个命令提示符样式的网站(U413.com、U413.GoogleCode.com)。该项目是在ASP.NETMVC3中构建的,并使用EntityFramework4。本质上,该站点允许您传入命令和参数,然后该站点返回一些数据。这个概念相当简单,但我不想使用一个巨大的IF语句来处理命令。相反,我决定做一些有点独特的事情,并构建一个包含所有可能命令的对象作为对象的方法。该站点使用反射来定位与发送的命令对应的方法并执行它们。这个对象是基于当前用户动态构建的,因为一些用户可以访问与其他用户不同的命令(例如,

c# - 使用 Ninject OWINHost 的 OWIN 自托管应用程序是否需要 system.web?

我正在尝试使用带有Ninject的OWIN自托管WebAPI创建Windows服务。我让它工作,但我必须添加对system.web的引用,这似乎是错误的。在没有引用system.web的情况下,我得到了这些编译错误:Thetype'System.Web.Routing.RouteCollection'isdefinedinanassemblythatisnotreferenced.Youmustaddareferencetoassembly'System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3

c# - 如何将 AutoMapper 与 Ninject.Web.Mvc 一起使用?

设置我有一个AutoMapperConfiguration设置AutoMapper映射的静态类:staticclassAutoMapperConfiguration(){internalstaticvoidSetupMappings(){Mapper.CreateMap.ConvertUsing>();}}哪里IdToEntityConverter是定制ITypeConverter看起来像这样:classIdToEntityConverter:ITypeConverterwhereT:Entity{privatereadonlyIRepository_repo;publicIdToEn

c# - 让最新的 Ninject 与最新的 MVC 5/Web Api 2 一起工作?

我知道有几个问题有点像这个问题,但由于我找不到任何文档,而且其他问题都没有任何对我有帮助的答案,这里是:我创建了一个新的ASP.NET应用程序(VS2013),选择了MVC,我添加了API。我在包控制台中运行“update-package”以更新到最新版本(MVC5.1.2、WebApi5.1.2)。然后我添加新的Ninject.MVC5和Ninject.Web.WebApi包。我将这些行添加到web.config文件(Ninject想要5.0版,我有5.1版):在App_start/NinjectWebCommon.cs文件中,我添加了一个绑定(bind):privatestatic

c# - 私有(private)成员在 API 方法调用中突然为 null

发生了奇怪的事情:在我的网络api中,我在使用Ninject解析时将一个存储库注入(inject)到Controller中。存储库存储在私有(private)只读成员变量中。工作得很好!当一个api方法被调用时,我访问了这个变量-只是发现它突然变成了null!伪例子:publicclassMyController:ApiController{privatereadonlyIRepo_repo;publicMyController(IReporepo){Guard.AgainstNullArgument("repo",repo);//guardingto//makesureit'snot

c# - WCF 自定义行为的依赖注入(inject)

在我的WCF服务中,我有一个自定义消息检查器,用于根据XML模式将传入消息验证为原始XML。消息检查器有一些它需要的依赖项(例如记录器和XML模式集合)。我的问题是,我可以使用依赖注入(inject)框架(我目前正在使用Ninject)来实例化这些自定义行为并自动注入(inject)依赖项吗?我做了一个简单的例子来演示这个概念:usingSystem.ServiceModel.Channels;usingSystem.ServiceModel.Description;usingSystem.ServiceModel.Dispatcher;usingNinject.Extensions.