Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Autofac:类型“MyController”没有默认构造函数_C#_Asp.net_Asp.net Web Api_Dependency Injection_Autofac - Fatal编程技术网

C# Autofac:类型“MyController”没有默认构造函数

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

我有一个Web Api应用程序,它使用另一个REST Api客户端。我将RESTAPI客户机包装到一个服务中

myproj/services/PostDataService.cs

我正在使用AutoFac并在控制器中注入服务

myproj/controllers/PostController.cs

但我得到了这个错误

尝试创建类型为的控制器时出错 “后置控制器”。确保控制器具有无参数 公共构造函数

这是我的Global.asax.cs

有人能发现我在这里遗漏了什么吗

谢谢

我不见了

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).