Fehler aufgetreten beim Versuch, einen Domänencontroller zu erstellen vom Typ 'EmployeeController'. Stellen Sie sicher, dass der controller hat einen parameterlosen public-Konstruktor

Warum bin ich ich immer diese Fehlermeldung auf Mitarbeiter-Controller rest funktioniert perfekt
Hier ist mein Mitarbeiter, Controller

public class EmployeeController : ApiController
    {
        #region Call service
        private readonly IEmployeeServices _employeeServices;
        public EmployeeController(IEmployeeServices employeeServices)
        {
            _employeeServices = employeeServices;
        }

        readonly IEmployeeServices employeeServices = new EmployeeServices();

        public EmployeeController():base()
        {
            _employeeServices = employeeServices;
        }
}

- UND das ist meine perfekt Funktionierende Produkt-Controller

public class ProductController : ApiController
    {
        #region Call service

        private readonly IProductServices _productServices;

        public ProductController(IProductServices productServices)
        {
            _productServices = productServices;
        }

        readonly IProductServices productServices = new ProductServices();

        public ProductController()
        {
            _productServices = productServices;
        }
}

Hier wird der stack-trace

Ist ein Fehler aufgetreten.Ein Fehler ist aufgetreten beim Versuch, einen Domänencontroller zu erstellen vom Typ 'EmployeeController'. Stellen Sie sicher, dass der controller hat einen parameterlosen public-Konstruktor.System.InvalidOperationException in System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Erstellen(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) bei System.Web.Http.Controller.HttpControllerDescriptor.CreateController(HttpRequestMessage request) bei System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()ist Ein Fehler aufgetreten.Auflösung der Abhängigkeit fehlgeschlagen, type = "TheWork.Controller.EmployeeController", name = "(none)". Ausnahme ist aufgetreten während: während der Lösung. Ausnahme: InvalidOperationException - Der aktuelle Typ, BusinessServices.IEmployeeServices, ist ein interface und kann nicht gebaut werden. Sind Sie fehlt ein Typ-mapping? ----------------------------------------------- In der Zeit der Ausnahme, dass der container wurde: Auflösen TheWork.Controller.EmployeeController,(keine) Lösung parameter "employeeServices" der Konstruktor TheWork.Controller.EmployeeController(BusinessServices.IEmployeeServices employeeServices) Auflösen BusinessServices.IEmployeeServices,(keine) Microsoft.Praktiken.Einheit.ResolutionFailedException bei Microsoft.Praktiken.Einheit.UnityContainer.DoBuildUp(Typ t, Object bestehenden, String name, IEnumerable1 resolverOverrides)&#xD; at Microsoft.Practices.Unity.UnityContainer.Resolve(Type t, String name, ResolverOverride[] resolverOverrides)&#xD; at Microsoft.Practices.Unity.UnityContainerExtensions.Resolve(IUnityContainer container, Type t, ResolverOverride[] overrides)&#xD; at Unity.WebApi.UnityDependencyScope.GetService(Type serviceType)&#xD; at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func1& activator) bei System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Erstellen(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)ist Ein Fehler aufgetreten.Der aktuelle Typ, BusinessServices.IEmployeeServices, ist ein interface und kann nicht gebaut werden. Sind Sie fehlt ein Typ-mapping?System.InvalidOperationException an Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.ThrowForAttemptingToConstructInterface(IBuilderContext Kontext) an lambda_method(Schließung , IBuilderContext ) Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext.<>c__DisplayClass1.<GetBuildMethod>b__0(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.DynamicMethodBuildPlan.Aufbau(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.BuilderContext.NewBuildUp(NamedTypeBuildKey newBuildKey) bei Microsoft.Praktiken.Einheit.ObjectBuilder.NamedTypeDependencyResolverPolicy.Beheben(IBuilderContext Kontext) an lambda_method(Schließung , IBuilderContext ) Microsoft.Practices.ObjectBuilder2.DynamicBuildPlanGenerationContext.<>c__DisplayClass1.<GetBuildMethod>b__0(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.DynamicMethodBuildPlan.Aufbau(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext Kontext) an Microsoft.Praktiken.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext Kontext) an Microsoft.Praktiken.Einheit.UnityContainer.DoBuildUp(Typ t, Object bestehenden, String name, IEnumerable`1 resolverOverrides)

Update

Hier ist die Einheit Konfiguration

   public static class UnityConfig
    {
        public static void RegisterComponents()
        {
            var container = new UnityContainer();
            System.Web.Mvc.DependencyResolver.SetResolver(new UnityDependencyResolver(container));

            GlobalConfiguration.Configuration.DependencyResolver = new Unity.WebApi.UnityDependencyResolver(container);

            RegisterTypes(container);
        }

        public static void RegisterTypes(IUnityContainer container)
        {
            ComponentLoader.LoadContainer(container, ".\\bin", "TheWork.dll");
            ComponentLoader.LoadContainer(container, ".\\bin", "BusinessServices.dll");
            ComponentLoader.LoadContainer(container, ".\\bin", "DataModel.dll");
        }
}
Was macht Ihr unity-Konfiguration Aussehen?
Chris habe ich noch die Config-Klasse finden Sie die update-Teil der Frage

InformationsquelleAutor Dummy | 2017-07-18

Schreibe einen Kommentar