Verständnis Ninject mvc 3 Kesselplatte Code

9

Wenn Sie das Paket nuget Ninject für mvc installieren, wird eine Datei NinjectWebCommon.cs in den Ordner App_Start eingefügt.

Ich verstehe 99% der Dinge in dieser Datei abgesehen von dieser Zeile:

%Vor%

Vollständige Codedatei hier auf GitHub

In meinen Augen wäre es besser zu verwenden:

%Vor%

Da die statische Instanz bereits am Anfang der Datei definiert ist, erhält sie den Kernel, der alle Zuordnungen enthält.

Nach etwas Googeln scheint es auch so zu sein:

%Vor%

Was ist der Grund dafür, wie der Boilerplate-Code funktioniert?

    
Marlon 11.06.2014, 16:04
quelle

1 Antwort

0

Die Bindung für

%Vor%

Wird verwendet, um eine neue Instanz von IKernel in die Bootstrapper.Initialize-Methode zu injizieren.

Die Idee hinter dem Erstellen eines neuen Bootstrappers ist, dass der Bootstrapper-Konstruktor eine vollständig initialisierte Instanz von IKernel erstellen soll. Diese neue Instanz wird verwendet, um die alte Instanz des IKernels zu ersetzen.

Die Annahme scheint zu sein, dass Sie beim Aufruf der Initialize-Methode die IKernel-Instanz in der Bootstrapper-Instanz vollständig zurücksetzen und alle Bindungen entfernen müssen, die vor dem Aufruf von Initialize hinzugefügt wurden.

Wenn Sie also etwas anderes tun wollen, als Ihren Kernel beim Start der Anwendung zurückzusetzen, sollten Sie den Code im Lambda-Ausdruck neu gestalten, damit ein Kernel den Bootstrapper.Initialize mit dem gewünschten Status übergeben wird.

Ich hoffe, das ist hilfreich.

    
Scott Terry 15.06.2014, 13:01
quelle