C# 简单注入器Web Api控制器构造函数注入失败
尝试实例化注入的控制器时,我的Web Api应用程序失败。我用的是简单的注射器。引导喷油器如下所示:C# 简单注入器Web Api控制器构造函数注入失败,c#,asp.net,asp.net-web-api,simple-injector,C#,Asp.net,Asp.net Web Api,Simple Injector,尝试实例化注入的控制器时,我的Web Api应用程序失败。我用的是简单的注射器。引导喷油器如下所示: [assembly: WebActivator.PostApplicationStartMethod(typeof(SimpleInjectorWebApiInitializer), "Initialize")] namespace WebApi { using System.Web.Http; using SimpleInjector; using SimpleInj
[assembly: WebActivator.PostApplicationStartMethod(typeof(SimpleInjectorWebApiInitializer), "Initialize")]
namespace WebApi
{
using System.Web.Http;
using SimpleInjector;
using SimpleInjector.Integration.WebApi;
public static class SimpleInjectorWebApiInitializer
{
public static void Initialize()
{
var container = new Container();
InitializeContainer(container);
container.RegisterWebApiControllers(GlobalConfiguration.Configuration);
container.Verify();
GlobalConfiguration.Configuration.DependencyResolver = new SimpleInjectorWebApiDependencyResolver(container);
}
private static void InitializeContainer(Container container)
{
container.RegisterWebApiRequest<ISomething, Something>();
}
}
}
我经常遇到的错误是:
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
An error occurred when trying to create a controller of type 'SomethingController'. Make sure that the controller has a parameterless public constructor.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
</error>
发生了一个错误。
尝试创建“SomethingController”类型的控制器时出错。确保控制器具有无参数公共构造函数。
System.InvalidOperationException异常
配置
简单注入器时缺少什么?具有属性WebActivator.PostApplicationStartMethod的程序集需要与启动项目的输出目录(即您的webapi/bin)位于同一目录中
无法正确构造控制器,因为Autofac尚未设置为依赖项解析程序-由于未加载程序集,因此从未调用初始化函数)您可以发布完整的堆栈跟踪吗?
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
An error occurred when trying to create a controller of type 'SomethingController'. Make sure that the controller has a parameterless public constructor.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
</error>