2010-11-24 3 views
0

Ich las Bob Cravens Blog auf Ninject und ein Problem, das sie mit der GC.collect nicht effizient aufgerufen wurde entdeckt. Die Ninject Team zur Verfügung gestellt Bob einen Weg, um dieses, indem er ihm die folgenden zum NinjectWebsiteApplication hinzufügen:Problem mit der Verwendung von Ninject.Component.Get, um Ninject zu zwingen, Cache zu leeren

_kernel.Components.Get<ICache>().Clear(HttpContext.Current); 

Allerdings habe ich den Fehler, dass ICache zu Ninject.Components.IComponentContainer konvertierbar sein muss und dass Clear() nimmt 0 Parameter. Das Ninject-Team gab an, dass es in einer zukünftigen Version angesprochen werden würde. Ich bin mir aber nicht sicher, ob es noch sein Blog war, der am 11/18 gepostet wurde.

Ich fand, dass ich konnte:

_kernel.Get<ICache>().Clear(); 

Aber ist dies das Gleiche erreichen, oder was mache ich falsch?

Antwort

0

Klingt, als würden Sie nicht die neueste Ninject-Version verwenden. Versuchen Sie ein Update auf die RC1 gefunden auf https://github.com/ninject.

Ein anderes Problem könnte sein, dass Ihr ICache nicht von Ninject stammt, sondern eine andere Komponente von Drittanbietern oder Ihr eigener Code.

+0

Die neueste Version der MVC- und Web-Erweiterung ist standardmäßig integriert. Können Sie überprüfen, ob dies für Sie funktioniert und ein Feedback geben? –

+0

Ich habe das gleiche Problem mit der neuesten Version und MVC-Erweiterungen. Das passiert meistens auf dem lokalen Entwickler-Webserver. –

Verwandte Themen