C# Autofac:类型“MyController”没有默认构造函数
我有一个Web Api应用程序,它使用另一个REST Api客户端。我将RESTAPI客户机包装到一个服务中 myproj/services/PostDataService.cs 我正在使用AutoFac并在控制器中注入服务 myproj/controllers/PostController.cs 但我得到了这个错误 尝试创建类型为的控制器时出错 “后置控制器”。确保控制器具有无参数 公共构造函数 这是我的Global.asax.cs 有人能发现我在这里遗漏了什么吗 谢谢我不见了C# Autofac:类型“MyController”没有默认构造函数,c#,asp.net,asp.net-web-api,dependency-injection,autofac,C#,Asp.net,Asp.net Web Api,Dependency Injection,Autofac,我有一个Web Api应用程序,它使用另一个REST Api客户端。我将RESTAPI客户机包装到一个服务中 myproj/services/PostDataService.cs 我正在使用AutoFac并在控制器中注入服务 myproj/controllers/PostController.cs 但我得到了这个错误 尝试创建类型为的控制器时出错 “后置控制器”。确保控制器具有无参数 公共构造函数 这是我的Global.asax.cs 有人能发现我在这里遗漏了什么吗 谢谢我不见了 builder
builder.RegisterApiControllers(typeof(PostController).Assembly).
显然,控制器也需要注册。我不见了
builder.RegisterApiControllers(typeof(PostController).Assembly).
显然,控制器也需要注册。可能重复-找到它,我丢失了,builder.RegisterApiControllerstypeofPostController.Assembly。。感谢可能的副本-找到了,我不见了,builder.RegisterApiControllerstypeofPostController.Assembly。。感谢这一点,在手动注册控制器之前,我在使用OwinSelfHost和autofac时出现HTTP 404错误。在手动注册控制器之前,我在使用OwinSelfHost和autofac时出现HTTP 404错误。
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
ContainerConfig.Configure();
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
public static class ContainerConfig
{
private static IContainer _container;
public static IContainer GetContainer()
{
if (_container != null)
return _container;
var builder = new ContainerBuilder();
builder.RegisterType<PostDataService>()
.AsSelf()
.InstancePerLifetimeScope()
.AsImplementedInterfaces();
_container = builder.Build();
return _container;
}
public static IContainer Configure()
{
var container = GetContainer();
var webApiResolver = new AutofacWebApiDependencyResolver(container);
GlobalConfiguration.Configuration.DependencyResolver = webApiResolver;
return container;
}
builder.RegisterApiControllers(typeof(PostController).Assembly).