Я использую ninject в веб-службе wcf. Этот веб-сервис размещен в проекте, созданном как «Пустое веб-приложение ASP.NET MVC 2».
Используются ссылки на Ninject.dll.v2 и Ninject.Extensions.Wcf.dll v1.
Разметка для служебного файла:
<%@ ServiceHost
Language="C#"
Debug="true"
Service="wcf_ninject.Service1"
CodeBehind="Service1.svc.cs"
Factory="Ninject.Extensions.Wcf.NinjectServiceHostFactory" %>
. global.asax наследуется от NinjectWcfApplication
public class Global : NinjectWcfApplication
{
protected override IKernel CreateKernel()
{
return new StandardKernel(new WCFNinjectModule());
}
}
с
public class WCFNinjectModule : NinjectModule
{
public override void Load()
{
Bind<IRepository>().To<EFRepository>();
// rest of bindings
}
}
и единственным конструктором службы является:
public Service1(IRepository repository)
{
_repo = repository;
}
Большую часть времени работает нормально, но время от времени я получаю сообщение об ошибке:
«Ошибка активации Service1 Доступно более одной совпадающей привязки»
Но, как уже было сказано, я не могу найти путь воспроизведения.