Пытаясь настроить ServiceStack.net на использование Ninject в качестве IOC, я получаю ошибки, относящиеся к тому, что различные привязки не определены. В первую очередь для клиента ICache.
Какие конкретные привязки необходимо создать для правильного использования Ninject?
В настоящее время указано:
Bind().To();//Is this correct/needed?
Примечание
Я создал IContainerAdapter в соответствии с документацией ServiceStack для реализации использования Ninject. (Найдено здесь: ServiceStack IOC Docs )
Примечание 2 Мой метод настройки хоста приложения выглядит следующим образом:
public override void Configure(Funq.Container container)
{
IKernel kernel = new StandardKernel(new BindingModule());
container.Adapter = new NinjectContainerAdapter(kernel);
}
Примечание 3
Я зарегистрировал ICacheClient следующим образом: Bind (). To ();
И теперь я получаю сообщение об ошибке, указывающее на IRequest
Error activating IRequestLogger\nNo matching bindings are available, and the type is not self-bindable
Адаптер контейнера
public class NinjectContainerAdapter : IContainerAdapter
{
private readonly IKernel _kernel;
public NinjectContainerAdapter(IKernel kernel)
{
this._kernel = kernel;
}
public T TryResolve()
{
return this._kernel.Get();
}
public T Resolve()
{
return this._kernel.Get();
}
}