基本信息
源码名称:用Ninject 实现webapi ApiController 示例源码
源码大小:2.88M
文件格式:.zip
开发语言:C#
更新时间:2014-06-07
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
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/5 public 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; } else para = 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/values public void Post([FromBody]string value) { } // PUT api/values/5 public void Put(int id, [FromBody]string value) { } // DELETE api/values/5 public void Delete(int id) { } } }