草庐IT

hangfire.ninject

全部标签

c# - 使用 NLog 的 Ninject 记录器

我刚开始学习Ninject,但遇到了记录器的问题。我目前有一个Controller,它有一个服务和记录器注入(inject)到构造函数中,如下所示:publicToolsController(IToolsServicetoolsService,ILoggerlogger){logger.Info("ToolsControllerCreated");this.toolsService=toolsService;this.logger=logger;}问题出在构造函数中的logger.Info行(例如),它似乎使用了错误的记录器,因此它打印出的记录器名称不正确。Tools.IGeocode

c# - Ninject 传入构造函数值

使用Ninject,您如何配置内核以便我可以定义将哪些构造函数值传递到对象的实例化?我在模块中配置了以下内容:Bind().To().InSingletonScope().Named("LIVE");Bind().To().InSingletonScope().Named("LIVE").WithConstructorArgument("service1",Kernel.Get("LIVE"));Service2Impl采用IService1的构造函数参数,但我希望它来自容器。我还想命名绑定(bind),因为我的代码将在运行时针对不同的版本。这似乎可行,但这是实现我想做的事情的正确方法

c# - 翻译 ninject ISecureDataFormat 绑定(bind)到 Autofac

我正在将一个大型代码库从Ninject迁移到Autofac,并且正在努力处理其中一个绑定(bind)(根据我的一些调试,我认为这会导致激活错误)。注入(inject):Bind>().ToMethod(context=>{varowinContext=context.Kernel.Get();returnowinContext.Get>("SecureDataFormat");});Autofac(我有什么):builder.Register(context=>context.Resolve().Get>("SecureDataFormat")).As>();启动.cs:varcont

c# - DI Framework : how to avoid continually passing injected dependencies up the chain, 且未使用服务定位器(特别是使用 Ninject)

我需要更多帮助才能“了解”像Ninject这样的DI框架如何超越基础知识。以Ninject为例:classSamurai{privateIWeapon_weapon;[Inject]publicSamurai(IWeaponweapon){_weapon=weapon;}publicvoidAttack(stringtarget){_weapon.Hit(target);}}如果没有DI框架(即上面的[Inject]引用),引用类将类似于:classProgram{publicstaticvoidMain(){Samuraiwarrior1=newSamurai(newShuriken

c# - 使用 Ninject 的具有多个参数的构造函数

我打算使用Ninject作为IoC容器,但无法理解如何创建在构造函数中具有多个参数的类的实例。基本上我在PCL库中有一个用于身份验证的服务接口(interface)及其在WP8项目中的实现,该项目在构造函数中接收消费者key、secret和baseAddress://OnPCLprojectpublicinterfaceIAuthorizationService{boolAuthenticate();}//OnWP8ProjectpubilcclassMyAuthenticator:IAuthorizationService{publicMyAuthenticator(stringco

c# - Ninject:将构造函数参数绑定(bind)到其他对象的属性

我有一个IConfig包含整个应用程序中使用的设置的对象。目前,我将整个对象注入(inject)到每个需要它的对象的构造函数中,如下所示:publicinterfaceIConfig{stringUsername{get;}stringPassword{get;}//...othersettings}publicclassFoo:IFoo{privatereadonlystringusername;privatereadonlystringpassword;publicFoo(IConfigconfig){this.username=config.Username;this.passw

c# - WPF 中的 Ninject 构造函数注入(inject)

是否可以使用ninject进行依赖项注入(inject),使结果类似于我可以在MVC中获得的注入(inject)。详细来说,如果我使用MVCninject适配器,我可以将我的WebController声明为具有构造函数参数,然后由ninject自动注入(inject)。但是,我还没有找到这样一个WPF的ninject扩展,它可以让我有一个这样的窗口:publicpartialclassMainWindow:Window{privatereadonlyIServiceinjectedService;publicMainWindow(IServiceinjectedService){thi

c# - 在 Ninject 中注入(inject)接口(interface)数组

考虑以下代码。publicinterfaceIFoo{}publicclassBar{publicBar(IFoo[]foos){}}publicclassMyModule:NinjectModule{publicoverridevoidLoad(){Bind().ToConstant(newIFoo[0]);//ToConstant()isjustanexample}}publicclassProgram{privatestaticvoidMain(string[]args){varkernel=newStandardKernel(newMyModule());varbar=kern

c# - Hangfire 禁用并发执行 : What happens when the timeout expires?

根据Hangfire0.8.2announcementpost,Hangfire有一个DisableConcurrentExecution过滤器,当应用于一个方法时,它会阻止该方法的多个实例同时执行。DisableConcurrentExecution过滤器采用timeoutInSecondsint参数。来自链接文章中的示例:[DisableConcurrentExecution(timeoutInSeconds:10*60)]publicvoidSomeMethod(){//Operationsperformedinsideadistributedlock}我的问题是:给定一个正在等

c# - 在 Ninject 的所有程序集中加载模块

我的项目中有几个类库,并且都在使用NinjectIoC容器。我想在找到INinjectModule的地方一次性加载StandardKernel中的所有模块。所以我用了:varkernel=newStandardKernel();kernel.Load(AppDomain.CurrentDomain.GetAssemblies())但是由于某些原因这不起作用。谁能帮忙? 最佳答案 好吧,这通常发生在声明了绑定(bind)但加载了其他模块时,该模块试图解析尚未加载的绑定(bind)。发生这种情况是因为List顺序可能不正确。如果你认为是