草庐IT

ninject-extensions

全部标签

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

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

c# - 如何关闭 resharper 中的 "Convert Extension Method to Plain Static"自动重构?

在使用Resharper时,由于某些原因,当我调用扩展方法时,它会自动将其转换为静态方法调用。这就是所谓的ConvertExtensionMethodtoPlainStatic重构。foo.Bar()成为MyStaticExtensions.Bar(foo);具有讽刺意味的是,它随后将此标记为代码异味。我该如何关闭它? 最佳答案 Resharper的IntelliSense中嵌入了此功能。我经常使用Linq-to-sql扩展,所以我禁用了这个功能:Resharper-选项-IntelliSense-启用RadiobuttonVisu

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# - 如何使用 Serilog 和 AutoFac 在控制台应用程序中获取 Microsoft.Extensions.Logging<T>?

我们在ASP.NETCore应用程序中有常见的BL类,这些类在ctor中:Microsoft.Extensions.Logging.ILogger在ASP.NETCore中,ASP.NET的内部基础结构通过LoggerFactory处理获取ILogger。.我们现在想在控制台应用程序中重用这些BL类(用于异步作业),我们如何设置AutoFac和Serilog以注入(inject)Microsoft.Extensions.Logging.ILogger在LoggerFactory的环境中不存在? 最佳答案 Microsoft.Exte

c# - 自托管 Web API 时使用 Ninject InRequestScope()

我正在使用自托管方法创建一个具有ASP.NETWebAPI接口(interface)的应用程序。我想使用类似于MVC3提供的InRequestScope()的范围。当我在IIS上托管WebAPI应用程序时,这似乎受到Ninject.Extension.WebAPI的支持。但是,当自托管WebAPI时,我会在创建绑定(bind)InRequestScope()时获得一个新实例。当我自行托管WebAPI时,有什么方法可以使用此范围? 最佳答案 您可以使用NamedScope扩展来定义Controller定义范围并将该范围用于请求范围内的

c# - Ninject 在 appharbor 上启动应用程序时崩溃

我在部署在appharbor上的MVC3项目上使用Ninject。我注意到当应用程序启动时出现异常,看起来Ninject内部的某些东西是原因,但我找不到任何答案-所以请帮助我:)将尝试在此处添加完整的异常:ServerErrorin'/'Application.Objectreferencenotsettoaninstanceofanobject.Description:Anunhandledexceptionoccurredduringtheexecutionofthecurrentwebrequest.Pleasereviewthestacktraceformoreinformat

c# - Ninject + MVC3 没有注入(inject) Controller

我使用了NuGetNinjectMVC3扩展,但无法根据请求将其注入(inject)Controller。它似乎没有绑定(bind),因为MVC正在寻找无参数构造函数。这是堆栈跟踪:[MissingMethodException:Noparameterlessconstructordefinedforthisobject.]System.RuntimeTypeHandle.CreateInstance(RuntimeTypetype,BooleanpublicOnly,BooleannoCheck,Boolean&canBeCached,RuntimeMethodHandleInter