【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

OData v3 与 WCF Data Services 5.x 简介

  • 2013-01-13
  • 本文字数:756 字

    阅读完需:约 2 分钟

如果使用.NET 构建新的 Web Services,那么 OData 就应该处于很重要的位置,特别是在需要支持未知的第三方应用时更是如此。该技术本身支持 SOAP 与 REST 风格的消息,对于后者又提供了 ATOM(XML)与 JSON 表示。这意味着使用者可以请求最适合自身的格式。

一个不错的起始点是 Mohamad Halabi 的文章 Understanding OData v3 and WCF Data Services 5.x 。这篇文章超越了传统的快速指南,重点关注于通信协议本身。

关于 WCF Data Services(微软的 OData 实现)的一个常见误解是它被绑定到了其 ORM Entity Framework 上。Mohamad 的文章中则介绍了公开一个非 EF 数据源的做法。对于静态数据来说,这就像是通过调用 List.AsQuerable 公开一套 IQueryable 属性一样简单。微软称其为 Reflection Provider

对于更加复杂的场景,你需要参考 MSDN 上的 Custom Data Service Providers 页面。它包含了你需要实现的各种接口的链接及一篇同名文章。但遗憾的是,很多接口的文档都不太完善。

在创建 OData 服务时,你需要知道一些兼容性问题。幸好,Mohamad 还介绍了 OData V2 与 OData V3 之间的差别。你主要应该关注如何注册 JSONMessageInspector 以及 JSON 与 JSON Light 之间的差别(后者去掉了很多 OData 元数据)。

WCF Data Services 主要用于提供 CRUD 式的服务,即创建、读取、更新与删除操作。你还可以公开 RPC 风格的服务,比如说 ProcessInvoice 方法。这是通过 WebGet 与 WebInvoke 属性实现的。但遗憾的是,这要比一般的 WCF 服务多了很多限制,比如说“每个参数都必须是原生类型”。 Service Operations 页面对其进行了详尽的介绍。

修改与查询拦截器可用于重写CRUD 式的请求。使用附加的验证与安全检查来阻止操作,通过错误消息告知你希望执行的其他操作。

查看英文原文: Getting Started with OData v3 and WCF Data Services 5.x

2013-01-13 12:301753
用户头像

发布了 88 篇内容, 共 258.1 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

技术分享 | 网页 frame 与多窗口处理

霍格沃兹测试开发学社

你用了吗?新版 IntelliJ IDEA 也太强了

晴雯哥

推荐前端开发者提升效率的工具

这我可不懂

前端 低代码

聊聊低代码的表单引擎

高端章鱼哥

低代码 低代码开发 JNPF

What's the difference between Maxon WiFi6 4x4 M.2 industrial Wireless Module with QCN9074 & QCN9024?

wifi6module

QCN9074 QCN9024

技术分享 | Selenium多浏览器处理

霍格沃兹测试开发学社

模块7作业 王者荣耀线上商城异地多活架构设计

sandywrh

探索大模型应用,解决企业数字化转型“最后一公里”

中关村科金

技术分享 | web前端的HTML浅析

霍格沃兹测试开发学社

作者推荐 | 【底层服务/编程功底系列】「底层技术原理」史上最清晰的采用程序员的视角方式进行深入探索Linux零拷贝技术原理及实现

洛神灬殇

Linux 操作系统 零拷贝 zero copy 底层原理

2023最新版Java八股文汇总(附1100道面试题及答案详解)

采菊东篱下

Java 面试

Rust中的高吞吐量流处理

高端章鱼哥

rust 流处理

详解 HashMap 的底层实现原理

树上有只程序猿

Java 数据结构 hashmap 哈希

准确率提升近4%,自研ASR模型助力公安机关筑牢反诈安全网

中关村科金

如何将超大文件传输给别人,超大文件如何传输呢?

镭速

超大文件传输

暴徒猎手 HUNTDOWN for Mac(动感射击游戏)v1.0中文版

mac

游戏 暴徒猎手 HUNTDOWN

SSH客户端SecureCRT常规操作

晴雯哥

【腾讯云Cloud Studio实战训练营】如何成为一名合格的Python爬虫“念咒师”(基于ChatGpt)

孤寒者

Python Cloud Studio Python爬虫 念咒师 念咒编程

面部表情识别在教育领域的应用

来自四九城儿

面部表情识别的伦理问题

来自四九城儿

华为阅读与二十一世纪出版社集团签约 共创优质少儿阅读内容生态

最新动态

参加HDC用Petal出行,专属打车券立减20元

最新动态

大文件跨国传输慢有哪些因素,附大文件跨国快速传输解决方案

镭速

大文件跨国传输

使用 Amazon ECS Anywhere 在边缘部署 Amazon IoT Greengrass

亚马逊云科技 (Amazon Web Services)

物联网 ECS

RHG之漏洞自动化利用(AEG)

云起无垠

2023-08-04:村里面一共有 n 栋房子 我们希望通过建造水井和铺设管道来为所有房子供水。 对于每个房子 i,我们有两种可选的供水方案: 一种是直接在房子内建造水井 成本为 wells[i -

福大大架构师每日一题

福大大架构师每日一题

10分钟理解React生命周期

这我可不懂

DOM React API

开源社区寻找八月创作之星!你准备好了吗~

Openlab_cosmoplat

人工智能 开源

【7.28-8.4】写作社区优秀技术博文一览

InfoQ写作社区官方

“新一代企业数字化联盟”走进嘉定,数划云与众多企业一起探讨数字化转型

数划云

组织门户支持成员自主公开,快速搭建内容|ModelWhale 版本更新

ModelWhale

云计算 数据分析 API 算力 数据门户

OData v3与WCF Data Services 5.x简介_REST_Jonathan Allen_InfoQ精选文章