前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Visual Studio 2012 中的ASP.NET Web API

Visual Studio 2012 中的ASP.NET Web API

作者头像
张善友
发布2018-01-29 16:54:33
3.2K0
发布2018-01-29 16:54:33
举报
文章被收录于专栏:张善友的专栏
restsoap
restsoap

有的企业 Web 服务使用 SOAP 和 WS-*.*它们对许多事务性或复杂的方案来说很不错。然后还有更轻量级的RESTful web 服务或"Web API",它们使用 JSON,XML,展示了所有的好东西和HTTP 规范的稳定性。

WCF 过得好好的, ASP.NET 也如此,每种技术都有使用其的理由。正如这篇文章说得好, "SOAP的世界与HTTP 服务的世界是完全不同的。SOAP 允许我们将我们的服务所需的所有知识放在信息本身中",而"您可以使用 [Web API] 来创建只使用标准HTTP 概念 (URI 和动词)的HTTP服务,和创建使用更高级的 HTTP功能的服务 — — 请求/响应标头,超媒体概念等。

Kelly Sommers澄清REST中撰写了我认为是REST的最好诠释,无论你想编写 RESTful专注于资源的 HTTP 服务还是只是POX或 POJ (Plain Old XML 或Plain Old JSON) 服务,你能使用ASP.NET Web API做到这两点。它是ASP.NET 开源的Web栈的所有部分。

ASP.NET Web API Samples on Codeplex,看到C# 协议对象如何在 JSON 世界和 C# 世界之间轻易来回移动了吗? 正是JSON.NET 开放源码库实现了这一目标。

JSON 和 JavaScript真的是动态的,不过通常它是件麻烦事来尝试将真的动态的 JSON 对象反序列化为强类型的.NET结构。JSON.NET 和 ASP.NET Web API 的模型绑定提供了一个开心的介质——一个中间背景——被称为 JToken。

代码语言:js
复制
   1: public class ContactController : ApiController
   2: {
   3:     public JToken Post(JToken contact)
   4:     {
   5:         return contact;
   6:     }
   7: }

当 JSON导入时, 请查看Watch窗口:

Using JToken to catch a JSON payload
Using JToken to catch a JSON payload

JToken 给予我一个动态的容器,而也是一个类似于 DOM 的导航模型。但如果对我来说不够动态的话,为什么我的方法的参数不能只采取一种"动态"。

C# 是静态类型,这是肯定的,但这并不意味着我不能静态化动态的东西。;)

再次注意Watch窗口。

Using dynamic to catch JSON post payloads
Using dynamic to catch JSON post payloads

查看JSON 如何在系统中移动,而没有任何不匹配的阻拦。C#并没有降低JavaScript 和 JSON 的灵活性。

以上内容来自:微小的开心功能第2部分-Visual Studio 2012 中的ASP.NET Web API

MVC4 WebAPI(一)

MVC4 WebAPI(二)——Web API工作方式

http://www.west-wind.com/weblog/posts/2012/Nov/13/DevConnections-Session-Slides-Samples-and-Links

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-09-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档