问题标签 [dependency-resolver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
347 浏览

asp.net - 在 UserManager.CreateAsync 中使用 DependencyResolver.GetService()

在从inDependencyResolver.GetService()调用的方法中使用时,我遇到了一个问题。UserManager.CreateAsync()AspNet.Identity

根据本文,我已向 AspNetUser 添加了一个 UserProfile 类 。

一切正常,但是在创建新用户时,它也会尝试创建我的 UserProfile 实体,并且在其中我有一个属性[CheckIfExists]检查 UserProfile 是否已经存在。在这个方法中,我们称之为它CheckIfExists(),我用来DependencyResolver.GetService()将我的接口解析ICheckIfExists为“concreate”类CheckIfExists。这失败了,因为当前线程不是 HttpContext 的一部分(因为它在 CreateAsync():s 线程中运行)。

有没有人遇到过这个问题?有解决办法吗?我正在为 IoC 使用 StructureMap。

0 投票
7 回答
25471 浏览

dependency-injection - 使用 IDependencyResolver 实现的 Web Api 启动异常

我正在开发一个 Web Api,我决定使用自定义 DependencyResolver。我参考了这篇 [Web API 控制器的依赖注入]文章。到目前为止,在将依赖项注入控制器方面,一切都运行良好。我的 Owin 启动类中的配置代码片段

但是在Api 第一次启动时,UnityResolver 的GetService方法中抛出(但捕获)了一些 ResolutionFailedException。这是异常消息

上面抛出以下类型的相同异常

我知道这些 ResolutionFailedException 被抛出是因为我没有在我的统一配置中为上述类型提供映射。

现在这是我的问题:-,如果我实现自定义统一 DependencyResolver,我需要定义上述类型的映射,如果需要定义它们对应的默认实现类型,或者是否有一些替代方法来实现 DependencyResolver。即使应用程序现在运行良好,我也很担心,如果无法解决上述类型,以后可能会导致严重问题。请帮忙

最后一个补充:- 对于以下类型,当我向我的 web api 请求任何操作时,会抛出相同的 ResolutionFailedException

0 投票
1 回答
5689 浏览

c# - System.web.Mvc DependencyResolver 无法为泛型类创建对象

我正在尝试在控制器中使用依赖注入并使用 System.Web.MvcDependencyResolver.Current.GetService() 在控制器类中创建服务实例。

当服务接口是非通用的时,这很好用,如下所示

我的依赖解析器语法如下给了我ProfileManagementService的实例

但是如果我创建如下任何通用服务接口,

但是对于下面的代码,我得到了一个空值(未创建CommonProfileManagementService对象)

请建议一些替代的通过方式

代替

到 DependencyResolver.Current.GetService()

0 投票
1 回答
1618 浏览

asp.net-web-api - 如何添加可用作 Castle Windsor 的类型参数“TImpl”的依赖项?

我收到了带有特定 URL 的运行时异常:

"缺少依赖项。组件 NRBQ.Web.Controllers.DeliveryController 对 SeaStore.Data.Legacy.Interfaces.INRBQDeliveryRepository 有依赖项,无法解析。确保依赖项在容器中正确注册为服务,或作为内联提供争论。” 异常类型:“Castle.MicroKernel.Resolvers.DependencyResolverException

...所以我将此代码(基于有效的现有代码)添加到 IOC 类:

在某些情况下:

...但这甚至不会编译;我现在得到:

类型“NRBQ.API.Controllers.DeliveryController”不能用作泛型类型或方法“Castle.MicroKernel.Registration.ComponentRegistration.ImplementedBy()”中的类型参数“TImpl”。没有从 'NRBQ.API.Controllers.DeliveryController' 到 'SeaStore.Data.Legacy.Interfaces.INRBQDeliveryRepository' 的隐式引用转换

我知道这可能有点神秘(我可能在这个问题中省略了一些重要的细节),但我不确定我应该添加哪些额外的线索。

更新

针对DeliveryController是否实现了INRBQDeliveryRepository:其实有3个controller类型的东西;NRBQ.Web 中面向用户的一个:

...然后是 NRBQ.Client 中的中间一个:

....最后是真正在 NRBQ.API 中完成幕后繁重工作的人:

最后一个电话指的是这里:

这一切都是我复制现有测试/示例代码的最佳尝试,但我承认我的头脑在游泳,我并不真正了解正在发生的事情(如何以及为什么)。

更新 2

尽管我很确定它仍然不是 Nathan 的热狗(它似乎在整个创作中追逐自己,首先调用这个抽象,然后调用那个抽象,然后调用另一个,然后回到第一个,然后是另一个,然后回到第二个, 等等. 等等. ad infinitum ad nauseum advillium), 添加这个:

...在上下文中:

...摆脱了 err msg 并返回了我期待的假结果(或者,更确切地说,希望,不是真的期待)。

0 投票
0 回答
237 浏览

grails - 在 Grails 中使用 Ivy 作为依赖解析器

我在尝试使用 ivy 作为依赖解析器时遇到了一些问题。

我的 BuildConfig 中有以下行:

而且 SpringFramework 和 JUnit 依赖项根本没有得到解决。

我不得不手动将其置于依赖项下。

但这对我来说似乎不合适。我在没有 springframework 依赖项的情况下在编译阶段遇到 NoClassDefFound 错误,并且在没有 junit 依赖项的情况下无法运行我的应用程序。

关于如何在不放置这些依赖项的情况下解决此问题的任何想法?

0 投票
1 回答
1805 浏览

.net - Castle Windsor 是否保留了生活方式短暂的已解决对象的参考?

如果城堡保留对该对象的引用,我在哪里可以访问该对象?容器内某处有该引用的列表吗?

我正在使用温莎城堡 3.3.0

0 投票
2 回答
1529 浏览

c# - 在 Castle Windsor 中调用 ResolveAll 时的顺序

假设我在容器中注册了多个对象,都实现了相同的接口:

我希望解决 ITask 的所有实现:

有没有办法控制已解决实例的顺序?

注意:显然,我可以在 ITask 上实现一个OrderorPriority属性,并且只对任务列表进行排序,但我正在寻找一个较低级别的解决方案。

0 投票
1 回答
578 浏览

asp.net-mvc-4 - 什么时候想在 IModelBinder 上使用 IDependencyResolver?

在创建新项目时,当将信息从表单发送回控制器时,它表示找不到无参数构造函数。这是意料之中的,因为用作视图模型的视图模型取决于域模型对象。

然后我决定编写自己的模型活页夹。

NewItemViewModelBinder

这个带有模型绑定器的解决方案在将这个绑定器注册到 NinjectWebCommon.RegisterServices 方法中的 ModelBinders.Binders 后工作得很好。

此外,我还看到了其他一些关于 DependencyResolver 的帖子。所以我想如果我能写一个依赖解析器来解决所有其他的创建问题,那么剩下的我就没有麻烦了。

NinjectDependencyResolver

在将这个新的解析器设置为 MVC 的依赖解析器之后,

它不起作用,我遇到了与无参数构造函数相同的问题。

所以,我有三个问题。

  1. 我在 DependencyResolver 方法上做错了什么?
  2. 与 DependencyResolver 相比,使用 ModelBinder 有什么好处?
  3. 什么时候使用其中一个?
0 投票
1 回答
282 浏览

nhibernate - 在另一个类库中使用 DependencyResolver 丢失范围,使用 Castle Windsor 和 FluentNhibernate 和 NHibernate

在我的 WCF 项目中,我在 global.asax 中使用 Castle Windsor 注册了我的界面:

然后稍后在同一个文件中,我使用 FluentNhibernate 使用提供程序配置 NHibernate:

但是,此 ConnectionProvider 托管在一个公共共享 dll 库中,因为还有其他 WCF 服务需要使用它。我想按如下方式注册此依赖项,但它不起作用,这意味着我必须手动新建一个实例。

有没有办法使这项工作?它就像它现在在另一个组件中一样失去了范围。在同一个程序集中,DependencyScope 工作正常并创建了一个实例,但我想将它保存在一个共享的 dll 中。

编辑:我得到的错误是“System.Web.Http.Dependencies.EmptyResolver”在这段代码的手表上:GlobalConfiguration.Configuration.DependencyResolver

0 投票
1 回答
131 浏览

c# - 存储在列表中时无法使用 Autofac 解决命令

如果有下面的代码,实现命令模式。我想将几个命令存储在一个列表中,然后从列表中选择它们,解析一个命令处理程序并最终执行该命令。

在实现这一点时,我遇到了问题,解决单个命令从 Autofac 工作,但解析存储在列表中的命令引发了一个异常,告诉我即使它与我之前解析命令处理程序的命令相同,也找不到命令处理程序。

这是解决方法

有谁知道如何让它运行?