大佬教程收集整理的这篇文章主要介绍了使用WCF Web API预览的Ninject 5,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经看过这个stackoverflow后Setting up Ninject with the new WCF Web API,但不能让它工作,我认为可以与最新版本的一些变化.
我也不确定哪个Ninject Libraries参考超过主要的.我使用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方法,但没有喜悦.
public class NinjectWebApiConfiguration : WebApiConfiguration { private IKernel kernel = new StandardKernel(); public NinjectWebApiConfiguration() { AddBindings(); CreateInstance = (serviceType,context,request) => kernel.Get(serviceType); } private void AddBindings() { kernel.Bind<IProductRepository>().To<MockProductRepository>(); } }
并在RegisterRoutes中使用NinjectWebApiConfiguration
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); var config = new NinjectWebApiConfiguration() { EnableTestClient = true }; routes.MapServiceRoute<ContactsApi>("api/contacts",config); }
以上是大佬教程为你收集整理的使用WCF Web API预览的Ninject 5全部内容,希望文章能够帮你解决使用WCF Web API预览的Ninject 5所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。