2
wcf 웹 서비스에서 ninject를 사용하고 있습니다.이 웹 서비스는 "ASP.NET MVC 2 빈 웹 응용 프로그램 ".ASP.NET MVC 2에서 호스팅되는 웹 서비스에 Ninject.Extensions.Wcf 사용
Ninject.dll v2 및 Ninject.Extensions.Wcf.dll v1에 대한 참조를 사용하고 있습니다.
서비스 파일의 태그는 Global.asax에이
public class WCFNinjectModule : NinjectModule
{
public override void Load()
{
Bind<IRepository>().To<EFRepository>();
// rest of bindings
}
}
및 서비스에 대한 유일한 생성자가 함께 NinjectWcfApplication
public class Global : NinjectWcfApplication
{
protected override IKernel CreateKernel()
{
return new StandardKernel(new WCFNinjectModule());
}
}
에서 상속
<%@ ServiceHost
Language="C#"
Debug="true"
Service="wcf_ninject.Service1"
CodeBehind="Service1.svc.cs"
Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory" %>
입니다 :
대부분의 시간public Service1(IRepository repository)
{
_repo = repository;
}
(10)는 잘 작동하지만 때때로 나는 오류 얻을 :
"Error activating Service1 More than one matching bindings are available"
을하지만 말했듯이 내가 재생 경로를 찾을 수 없습니다입니다.