Tag: 简单注入器

简单的注射器无法注入Web API控制器中的依赖项

我试图做一些基本的构造函数DI与简单的注入器,似乎无法解决Web API控制器的依赖关系。 我有一个“API”文件夹,这是“控制器”文件夹之外的API控制器。 我也尝试把它放在“控制器”文件夹,但似乎没有多大的区别。 我收到的堆栈跟踪与此问题中提供的相似。 我正在使用“Simple Injector MVC集成快速入门”NuGet软件包(第2.1.0版)的全新安装。 我从文档中获得了基本的SimpleInjectorWebApiDependencyResolver ,这与在这里find的一样。 我正在使用entity framework,并已查看有关正确加载上下文的更改的讨论线程 。 这似乎不是一个问题,但我仍然收到以下错误: types“MyProject.API.ArticleController”没有默认的构造函数 System.ArgumentException在 System.Web.Http.Internal.TypeActivator.Create [TBase](typesinstanceType)在System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage请求,Type控制器types)System.Linq.Expressions.Expression.New ,Func`1&activator)在System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage请求,HttpControllerDescriptor controllerDescriptor,typescontrollerType) 如果有人能提供一些build议,请问是否应该修改其当前状态/呼叫顺序。 ArticleController(基本结构): public class ArticleController : ApiController { private readonly IArticleRepository articleRepository; private readonly IUserRepository userRepository; private readonly IReleaseRepository releaseRepository; public ArticleController(IArticleRepository articleRepository, IUserRepository userRepository, IReleaseRepository releaseRepository) { this.articleRepository = articleRepository; this.userRepository = userRepository; this.releaseRepository […]