2012-07-16 3 views
1

Problème:Unity.WebAPI - composante registre

J'utilise MVC4 et WebAPI. J'ai installé le paquet Unity.WebAPI et je suis bloqué.

Je ne sais pas ce qui doit être enregistré dans le Initialise() dans bootstrapper.cs? Interface et classe ou mon contrôleur?

using System.Web.Http; 
using Microsoft.Practices.Unity; 
using unitywapi4.Models; 

namespace unitywapi4 
{ 
    public static class Bootstrapper 
    { 
     public static void Initialise() 
     { 
      var container = BuildUnityContainer(); 

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

     private static IUnityContainer BuildUnityContainer() 
     { 
      var container = new UnityContainer(); 

      // register all your components with the container here 
      // e.g. container.RegisterType<ITestService, TestService>();  

      container.RegisterType<IProductRepository, Product>(); 

      return container; 
     } 
    } 
} 

Erreur:

Ne peut pas être utilisé comme paramètre de type 'TTO' dans le type générique ou méthode « Microsoft.Practices.Unity.UnityContainerExtensions.RegisterType (Microsoft.Practices.Unity.IUnityContainer, params Microsoft.Practices.Unity.InjectionMember []). **

Il n'y a pas de conversion de référence implicite de 'unitywapi4.Models.Product' à 'unitywapi4.Models.IProductRepository'.

Répondre

1

Apparemment ...

types de cartographie est utile pour récupérer les instances des différents objets qui mettent en œuvre la même interface spécifiée ou qui héritent de la même classe de base spécifiée. Le type de cible pour le mappage doit hériter ou implémenter le type de base ou l'interface de la source. Vous pouvez générer des mappages par défaut et nommés pour un enregistrement de type en utilisant les surcharges génériques des méthodes conteneur.

http://msdn.microsoft.com/en-us/library/ff660923%28v=PandP.20%29.aspx#registertype_simple

Questions connexes