ASP.NE4 MVC3을 배우고 있습니다. NinjectDependencyResolver 클래스를 만들었지 만 ServiceLocator 클래스를 구현하는 방법을 알고 싶습니다. 현재이 오류가 발생합니다. "SportsStore.WebUI.Infrastructure.NinjectDependencyResolver 유형이 Microsoft.Practices.ServiceLocation.IServiceLocator. 매개 변수 이름 : commonServiceLocator"를 구현하는 것으로 보이지 않습니다.리졸버 및 서비스 로케이터 구현 구현
Global.asax
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
RegisterDependencyResolver();
//ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}
private void RegisterDependencyResolver()
{
var kernel = new StandardKernel();
DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
}
NinjectDepencyResolver cs
public class NinjectDependencyResolver
{
private readonly IKernel _kernel;
public NinjectDependencyResolver(IKernel kernel)
{
_kernel = kernel;
}
public object GetService(Type serviceType)
{
return _kernel.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
try
{
return _kernel.GetAll(serviceType);
}
catch (Exception)
{
return new List<object>();
}
}
이 책의 코드를하려고하면 나는 IProductRepository 사용 제공자가 null 반환 상수 값에 IProductRepository에서 바인딩을 활성화하는 erorr "오류를 얻을 활성화 경로를 :. 2) 형 ProductController의 생성자의 매개 변수 productRepository에 의존 IProductRepository 사출 1) ProductController에 대한 요청 제안 : 1) 공급자가 생성 요청을 올바르게 처리하는지 확인하십시오. " – MasterP
이 오류가 발생합니다. IController GetControllerInstance (RequestContext requestContext, type controllerType) { return controllerType == null ? null : (IController) ninjectKernel.Get (controllerType); } – MasterP
문제가 해결되었다고 말씀 하시겠습니까? 그렇지 않다면 더 설명 할 수 있을까요? –