任何人都可以指出我正确的方向让Ninject使用WCF Web API Preview 5吗?我已成功启动并运行在我的ASP.NET MVC 3项目中以及使用Ninject.Extensions.Wcf库的另一个内部WCF服务中.但是,在创建新的MVC 3项目并从NuGet获取WebApi.All库时,我无法使其工作.
我已经看过这个stackoverflow post 使用新的WCF Web API设置Ninject但是无法让它工作,我认为可能与最新版本中的一些更改有关.
我也不确定哪个Ninject图书馆可以参考主要图书馆.我是否使用Ninject.MVC3,Ninject.Extensions.Wcf.
任何有关这方面的帮助将非常感激.
****更新**
我正在使用的代码来自上述问题的答案.我在自己的类文件中有这个.
public class NinjectResourceFactory : IResourceFactory
{
private readonly IKernel _kernel;
public NinjectResourceFactory(IKernel kernel)
{
_kernel = kernel;
}
public object GetInstance(Type serviceType, InstanceContext instanceContext, HttpRequestMessage request)
{
return _kernel.Get(serviceType);
}
public void ReleaseInstance(InstanceContext instanceContext, object service)
{
// no op
}
}
Run Code Online (Sandbox Code Playgroud)
我在global.asax中有这个:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是IResourceFactory接口无法识别,并且HttpConfiguration.Create()不再存在,所以我需要设置SetResourceFactory,我尝试使用HttpConfiguration()创建其他方法.CreateInstance方法但没有喜悦.