Accès au noyau Ninject dans le monde

Cette question n'est pas spécifiquement liée à Ninject. C'est plus un général de codage question, mais je vais le poster ici au cas où il pourrait y avoir une meilleure façon entièrement de traitement de la question dans Ninject, que ce que je suis en train de faire.

Je voudrais savoir si il est possible d'accéder à la Ninject Noyau Standard à l'échelle mondiale, de son instance Mondiale.asax.

Voici le code:

public class MvcApplication : NinjectHttpApplication
{
    protected override void OnApplicationStarted()
    {
        base.OnApplicationStarted();

        //MVC global registration, routing and filtering code goes here...
    }

    protected override IKernel CreateKernel()
    {
        return Container;
    }

    private static IKernel Container
    {
        get
        {
            IKernel kernel = new StandardKernel();
            kernel.Load(new ServiceModule(), new RepositoryModule());
            return kernel;
        }
    }
}

Si j'ai certaines classes, par exemple, à la façade classes qui ne soient pas en contact avec les contrôleurs, où je voudrais, pour commencer une chaîne de dépendances, ma compréhension est que je devrais utiliser:

_className = kernel.Get<IClassName>();

Toutefois, la seule façon que je connaisse pour faire cela est de créer une nouvelle instance de la Ninject noyau Standard, mais si je comprends bien, n'est pas une bonne idée de créer une nouvelle instance de la Ninject noyau, parce que c'est essentiellement la création d'un deuxième noyau.

Donc, est-il possible d'accéder au Noyau existant qui a été créé en Mondial de.asax au Démarrage de l'Application, à partir de n'importe où dans ma demande, ou est-il une meilleure façon entièrement pour ce faire?

Ce qui concerne,

Fred Chateau

source d'informationauteur Fred Chateau