2015-08-14 19 views
7

Glass Mapper v4'ün artık herhangi bir IoC konteyneriyle birlikte kullanılabileceğini anlıyorum. Ama bunun nasıl başarılacağına dair bir örnek bulmaya çalışıyorum.Glass Mapper + Unity

public class SearchController : Controller 
{ 
    private readonly ISitecoreContext _context; 

    //Inject via Unity 
    public SearchController(Glass.Mapper.Sc.ISitecoreContext context) 
    { 
     _context = context; 
    } 
} 

birisi Cam Unity ile bağlantılı almak için nasıl bir kod örneği verebilir:

Ben mümkün sicil cam parçaları olabilir ve örneğin Unity üzerinden benim denetleyicileri içine enjekte etmek ister misin?

cevap

2

Artık Glass için temel eşleme ayarını yapılandırmak için bir IoC konteynerine ihtiyacınız yok. Bunun yerine, ISitecoreContext ve gerekli ReleaseController ve GetControllerInstance yöntemlerini geçersiz kılan özel bir MVC denetleyicisi fabrika için bir kayıt yapılandırın.

Benim Birlik biraz paslanmış ama böyle bir şeydir (daha basit bir şey bulabilirsiniz):

IUnityContainer container = new UnityContainer() 
container.RegisterType<ISitecoreContext, SitecoreContext>(new HierarchicalLifetimeManager(), new InjectionFactory(x => new SitecoreContext())); 
+0

Yep Aslında bu geçen hafta gerçekleşen - süper basit. Bir sebepten dolayı bir IoC'yi bağlamanın daha zor olmasını beklerdim. –