ASP.NET WebAPI로 REST API를 작성합니다. 모든 것이 잘 작동했지만, 모든 메소드 호출에서 인터페이스를 사용하는 것이 좋습니다. 모든 메소드를 변경 한 후에 컨트롤러 메소드의 매개 변수를 인터페이스로 설정 한 후에 API 호출이 작동하지 않는다는 것을 알아 차렸습니다. 저는 OWIN 자체 호스트와 Unity 의존성 주입을 사용하고 있습니다.API 호출의 매개 변수로 REST WebAPI 인터페이스
IUnityContainer container = new UnityContainer();
container.RegisterType<IMyInterface, MyInterfaceImpl>(new HierarchicalLifetimeManager());
HttpConfiguration config = new HttpConfiguration();
config.DependencyResolver = new UnityDependencyResolver(container);
내 컨트롤러 (내가 오류가 발생하는 부분)이 메소드를 호출 할 때
[Route("test")]
[HttpGet]
public HttpResponseMessage GetSomeData([FromUri]IMyInterface searchObject)
{
return this._searchService.SearchForData(searchObject);
}
내가 인터페이스는 그 오류를 얻을 : 내 인터페이스를 해결
: 여기 내 관련 코드 만들 수 없습니다. 나는 그것을 잘 모릅니다. 그러나 문제는 그것을 고치고 있습니다. 나는 ASP.NET Web API Operation with interfaces instead concrete class을 보았고 https://brettedotnet.wordpress.com/2014/07/16/web-api-and-interface-parameters/과 ASP.NET Web API Operation with interfaces instead concrete class을 보았지만 내 경우에는 효과가 없었습니다. 항상 인터페이스를 만들 수 없다는 오류가 발생했습니다.
사람이 (다른 GitHub의 나에) 이런 일에 작업 예제가있는 경우 난 그냥 내가 잘못 뭐하는 거지 확인 궁금(또는 내가 좋은 것 시도 할 수 밖에 무엇도 생각)
감사 당신은
자기 호스트에 Owin을 사용하고 있으므로 GlobalConfiguration이 없습니다. 내가 가진 모든 것은 HttpConfiguration이지만 그것을 사용할 때 System.Web.Http.Controllers.ServicesContainer를 인수로 사용하는 HttpConfiguration에 GetValueProviderFactories 메서드가 없다는 오류가 발생합니다. – user3466562