找传奇、传世资源到传世资源站!

用Ninject 实现webapi ApiController 示例源码

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Net.Http;using System.Web.Http;using Model;using Newtonsoft.Json;using Strategy;using Service;using Ninject;namespace WebSite.Controllers{public class ValuesController : ApiController{public static IList<Product> products = new List<Product>(){new Product{Id="1",ProductName="Iphone4s",Price=3788},new Product{Id="2",ProductName="Ipad3",Price=2788}};// GET api/values/public string Get(){var json = JsonConvert.SerializeObject(products);return json;}// GET api/values/5public string Get(decimal id){IKernel kernel = new StandardKernel();decimal result = products.Sum(p => p.Price);decimal para;if (id > 0 && id < 100){para = id / 10;}elsepara = id;NinjectBinder binder = new NinjectBinder(kernel, result, para);//这里应该到全局里注册的var sum = "";switch (id.ToString()) //这里使用了固定的值 可以采用枚举 和XML配置 来反射做{case "0":INormal normal = kernel.Get<INormal>();sum = normal.TotalSum().ToString();break;case "9":IDiscount discount = kernel.Get<IDiscount>();sum = discount.DisCountTotalSum().ToString();break;case "100":IReturn returns = kernel.Get<IReturn>();sum = returns.ReturnTotalSum().ToString();break;}return sum.ToString();}// POST api/valuespublic void Post([FromBody]string value){}// PUT api/values/5public void Put(int id, [FromBody]string value){}// DELETE api/values/5public void Delete(int id){}}}

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复