Respuesta

26

La descarga de Ninject2 contiene un CommonServiceLocator.NinjectAdapter.dll (en la carpeta 'extensiones' del archivo zip). Agregue este dll y Ninject.dll a su proyecto.

En la ruta de inicio de su aplicación (después de configurar el núcleo Ninject), puede utilizar el siguiente código:

IKernel ninject = ...; 

var locator = new NinjectServiceLocator(ninject); 

ServiceLocator.SetLocatorProvider(() => locator); 

Tenga en cuenta que el Servicio de Localización Común (CSL) es una biblioteca que proporciona una abstracción sobre contenedores IoC y contiene una fachada estática (implementando el patrón Localizador de servicios). Es una interfaz común que los desarrolladores pueden usar para evitar depender de una implementación de IoC específica. El CSL es especialmente útil para desarrolladores de frameworks. Los desarrolladores de aplicaciones usan mejor el patrón de inyección de dependencia (DI). Cuando DI se usa correctamente, no hay necesidad de utilizar el CSL en una aplicación. Si bien el CSL es más adecuado para el desarrollo del marco, incluso allí encuentro cuestionable el uso del CSL. En la mayoría de las veces, el uso de dicha interfaz común puede eliminarse teniendo un diseño adecuado.

+0

¿Qué hace CommonServiceLocator? – Chev

+0

Gotcha, gracias por la información. Estoy de acuerdo contigo. – Chev

Cuestiones relacionadas