ServiceStack-使用Ninject而不是Funq
我正在尝试将ServiceStack与Ninject而不是Funq一起使用。我有以下资料:ServiceStack-使用Ninject而不是Funq,ninject,
servicestack,Ninject,
servicestack,我正在尝试将ServiceStack与Ninject而不是Funq一起使用。我有以下资料: public interface IContainerAdapter { T Resolve<T>(); T TryResolve<T>(); } public class NinjectIocAdapter : IContainerAdapter { private readonly IKernel kernel; public Ninject
public interface IContainerAdapter
{
T Resolve<T>();
T TryResolve<T>();
}
public class NinjectIocAdapter : IContainerAdapter
{
private readonly IKernel kernel;
public NinjectIocAdapter(IKernel kernel)
{
this.kernel = kernel;
}
public T Resolve<T>()
{
return this.kernel.Get<T>();
}
public T TryResolve<T>()
{
return this.kernel.TryGet<T>();
}
}
但我得到了以下错误:
无法将类型“NinjectionAdapter”隐式转换为“ServiceStack.Configuration.IContainerAdapter”。
我也不确定是否必须取消注释该行才能将MVC设置为使用Funq IoC?我已经把它注释掉了,因为我将使用Ninject。对吗
我想一旦这一切都起作用了。我可以简单地在以下内容中注册任何依赖项:
private static void RegisterServices(IKernel kernel)
{
}
代码完全匹配,但有一个细微的差别
您必须使用ServiceStack.Configuration.IContainerAdapter
而不是您自己的IContainerAdapter
删除您的实现,添加对ServiceStack.Configuration
的引用,您就可以了
private static void RegisterServices(IKernel kernel)
{
}