2012-04-03 6 views
1

Ich verwende Ninject zusammen mit MVC3, um meine Controller-Abhängigkeiten zu injizieren. Manchmal bekomme ich im MVC Mini Profiler auch dann langsames Timing, wenn die Controller-Aktionen ausgeführt werden. Da ich vor dieser Zeit nicht viel gemacht habe, dachte ich, es könnte ein Problem mit meiner Verwendung von Ninject sein. Gibt es eine Möglichkeit, Timing-Informationen von Ninject zu erhalten? Vielleicht gibt es eine Konfigurationsoption, um zu protokollieren, wie lange die Abhängigkeitsauflösung dauerte, oder wenn nicht, was eine gute Möglichkeit wäre, dies selbst hinzuzufügen, gibt es eine Klasse, die ich erweitern oder umbrechen kann?Profil ninject in mvc3 Webanwendung

Antwort

3

Sie können einen Dekorator für den NinjectDependencyResolver schreiben, indem Sie die IDependencyResolver-Schnittstelle implementieren und ersetzen Sie es in der DependencyResolver.

+0

+1 Doh! Nizza ... –

+0

Für zukünftige Referenz ist es tatsächlich nicht Ninject! – olle

1

Erstens würde meine Standard-Antwort: -

Ich habe DI als statistisch signifikanter Prozentsatz von etwas Interessantes in einem Profil zeigt sich nie gesehen. Go Compose!

(Dieser Beitrag begann als Kommentar: - @olle haben Sie die Quelle? Es gibt eine Reihe relativ einfacher Erweiterungen, die den Auflösungsprozess "wickeln" und sollte nicht zu komplex sein, um zu grok. Angesichts der Sie sind mit dem Mini Profiler und es ist ziemlich einfach, Dinge hineinzustopfen, es scheint eine relativ unkomplizierte Erweiterung zu sein.Ich weiß, dass dies eine PITA-Antwort ist, um in ein Forum zu kommen, aber ich persönlich bin dankbar dafür, dass ich angewiesen werde, das zu verwenden Quelle vor ein paar Jahren - die Ninject-Code-Basis und ihre Tests sind eine echte Freude zu lesen.)

+1

Nein, ich weiß diese Antwort definitiv zu schätzen. Ich schaute auf die Quelle, die ich auch überprüfen wollte, ob es bereits eine existierende Wrapper/Funktion etc ... gab, die ich vermisst hätte. – olle

+1

@olle Cool. Toll, ein Remo um die richtige Antwort zu haben: D –