2
当试图实例化注入的控制器时,我的Web Api API应用程序失败。我正在使用简单注射器。引导注射器如下:简单的喷油器Web Api控制器构造器注入失败
[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>();
}
}
}
正在注射的控制器。
namespace WebApi.Controllers
{
using System.Web.Http;
public class SomethingController : ApiController
{
private readonly ISomething _something;
public SomethingController(ISomething something)
{
_something = something;
}
public string Get()
{
return "Hello world";
}
}
}
我不断收到的错误是:
<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>
什么我在配置Simple Injector
失踪?
你能发布完整的堆栈跟踪吗? – Steven 2014-09-05 05:31:36