网站大量收购独家精品文档,联系QQ:2885784924

asp_net_mvc4_web_api_的最新讲解极其详细介绍.docx

asp_net_mvc4_web_api_的最新讲解极其详细介绍.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
不管是因为什么原因,结果是在新出的 MVC中,增加了 WebAP,用于提供REST风格的 WebService,个人 比较喜欢REST风格的WebService,感觉比SOAP要轻量级一些,而且对客户端的要求也更少,更符合网络 数据传输的一般模式,客户端完全摆脱了代理和管道来直接和 WebService进行交互,具体的区别可以参见 Web服务编程,REST与SOAP (一)环境准备 本机的环境是XP+VS2O10需要安装VS2010 SP1升级包,MVC軒级包,Vs2010安装SP1后会影响 SQLServer2008的自动提示功能,需要在安装补丁或插件,安装成功后可以新建如下的 MVC WebAPI项目 (二) 概览 新生成的 WebAPI项目和典型的 MVC项目一样,包含主要的 Models, Views, Controllers 等文件夹和文件 Views对于 WebAPI来说没有太大的用途,Models中的Model主要用于保存 Service和Client交互的对象, 这些对象默认情况下会被转换为 Json格式的数据进行传输, Controllers 中的Controller 对应于 WebService来说是一个Resource,用于提供服务。和普通的 MV(一样,用于配置路由规则 (三) Models 和WCF中的数据契约形成鲜明对比的是, MVCWebAPI中的Model就是简单的POCO没有任何别的东西,女口, 你可以创建如下的 Model public class TestUseMode { public string ModeKey{get ; set ;} public string ModeValue { get ; set ; } } 注意:Model必须提供public的属性,用于json或xml反序列化时的赋值 (四) Controllers MVCWebAPI中的Controllers 和普通 MVC的Controllers 类似,不过不再继承于 Controller ,而改为继承 API的ApiController ,一个Controller 可以包含多个 Action,这些 Action 响应请求的方法与 Global中 配置的路由规则有关,在后面结束 Global时统一说明 (五)Global 默认情况下,模板自带了两个路由规则,分别对应于 WebAPI和普通MVC的Web请求,默认的 规则如下 ( name: DefaultApi, routeTemplate: api/{controller}/{id} , defaults: new { id = } ); 可以看到,默认路由使用的固定的 api作为Uri的先导,按照微软官方的说法,用于区分普通 WebService的请求路径: Note: The reason for using api in the route is to avoid collisions with MVC routing. you can have /contacts go to an MVCcontroller, and /api/contacts go to a WebAPI Of course, if you dont like this convention, you can change the default route table. 可以看到,默认的路由规则只指向了 Controller ,没有指向具体的 Action,因为默认情况下, Cont⑹ler 中的Action的匹配是和 Action的方法名相关联的: 具体来说,如果使用上面的路由规则,对应下面的 Controller : 朿 public class TestController : ApiController { public static ListTestUseMode allModeList = new ListTestUseMode(); public IEnumerableTestUseMode GetAll() { return allModeList; } public IEnumerableTestUseMode GetOne( string key) { WebAP I路由Web WebAP I路由 Web请求和 That way, controller. 对于 public bool PostNew(TestUseMode mode) { (mode); return true ; } public int Delete( string key) return ((mode) = { if == key) return true ; return false

文档评论(0)

157****5685 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档