wcf Webサービスでninjectを使用しています。このWebサービスは、「ASP.NET MVC 2空のWebアプリケーション"ASP.NET MVC 2でホストされているWebサービスに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;
}
時間のほとんどが正常に動作しますが、時々私はエラーを取得:
"Error activating Service1 More than one matching bindings are available"
しかし、私は再生経路を見つけることができません言ったように。