Ich sehe there is an extension for Ninject integration mit asp.net-mvc aber es sieht so aus, als ob ich Ninject mit mvc gut ohne diese Erweiterung integrieren kann. Zum Beispiel:Muss ich die Erweiterung ninject.mvc noch verwenden?
public class NinjectDependencyResolver : IDependencyResolver
{
private readonly IResolutionRoot _resolutionRoot;
public NinjectDependencyResolver(IResolutionRoot resolutionRoot)
{
_resolutionRoot = resolutionRoot;
}
public object GetService(Type serviceType)
{
return _resolutionRoot.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _resolutionRoot.GetAll(serviceType);
}
}
public class MvcApplication : HttpApplication
{
void Application_Start()
{
var modules = new INinjectModule[] { new ServiceModule() };
var kernel = new StandardKernel(modules);
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
Ist dies eine Legacy-Erweiterung oder ist sie noch relevant? Ich sehe die letzten Aktualisierungen des Quellcodes, so dass ich etwas verwirrt war.
in Bezug auf # 1, was ist falsch mit der vorgeschlagenen Implementierung? – leora
@leora - ich weiß es nicht aus der Hand, aber da Remo das existierende geschrieben hat und den Code anschaut, macht es viel mehr Sachen (wie mit dem Anforderungsbereich umzugehen, nehme ich an?), Würde ich annehmen, dass es mindestens " Support Request Scope "(aber nicht sicher, ob das stimmt oder nicht) –
@leora Es wird nicht mehrere Enumeration korrekt behandelt, die zu seltsamen Verhaltensweisen führt, ist einige Szenarien. Und wegen TryGet wird es sehr schwierig einige Konfigurationsprobleme zu erkennen. –