谁能指出我正确的方向来让 Ninject 使用 WCF Web API Preview 5?我在我的 ASP.NET MVC 3 项目以及另一个使用 Ninject.Extensions.Wcf 库的内部 WCF 服务中成功启动并运行了它。但是,在创建新的 MVC 3 项目并从 NuGet 获取 WebApi.All 库时,我无法让它工作。
我已经查看了这篇 stackoverflow 帖子Setting up Ninject with the new 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
}
}
这是我在 global.asax 中的:
var configuration = HttpConfiguration.Create().SetResourceFactory(new NinjectResourceFactory());
RouteTable.Routes.MapServiceRoute<myResource>("resource", configuration);
我遇到的问题是 IResourceFactory 接口无法识别并且 HttpConfiguration.Create() 不再存在,所以我需要设置 SetResourceFactory 其他方式,我尝试使用 HttpConfiguration().CreateInstance 方法但没有喜悦。