컨트롤러에서 dependencyinjection을 사용하고 컨트롤러 클래스에 서비스 인스턴스를 만들 때 System.Web.MvcDependencyResolver.Current.GetService()를 사용하려고합니다. 서비스 인터페이스가System.web.Mvc DependencyResolver가 일반 클래스 용 개체를 만들 수 없습니다.
public interface IProfileManagementService
{
IList<News> GetSavedSearchList(int userObjectId, ApplicationType applicationType,int? vendorUserObjectId);
}
하고 아래에있는 내 의존성 해결 구문 다음과 같은 비 일반적인 경우
이것은 ProfileManagementService
DependencyResolver.Current.GetService<IProfileManagementService>();
의 나에게 인스턴스를 제공하지만 잘 작동 나는 어떤 일반적인 서비스를 작성하는 경우 인터페이스는 아래와 같습니다.
public interface ICommonProfileManagementService<T>
{
IList<T> GetSavedSearchList(int userObjectId, ApplicationType applicationType,int? vendorUserObjectId);
}
는하지만 (CommonProfileManagementService 오브젝트가 작성되지 않음) 코드 아래에 대한 널 (null)을 얻을
DependencyResolver.Current.GetService<ICommonProfileManagementService<News>>();
대신
IService
의
IService<T>
를 전달하는 몇 가지 다른 방법을 제안하십시오 DependencyResolver.Current.GetService()
현재 '리졸버'는 무엇입니까? 실제로 인터페이스의 구현을 어떻게 등록합니까? – haim770