写点什么

迈向 Data 2.0——学习使用 ADO.NET 数据服务框架

  • 2008-08-13
  • 本文字数:1169 字

    阅读完需:约 4 分钟

随着.NET Framework 3.5 SP1 和 Visual Studio 2008 SP1 的正式发布 ADO.NET 数据服务框架(ADO.NET Data Services Framework)也正式来到了我们的面前。近日,MSDN Magazine 发布了标题为《在 Web 服务领域公开和使用数据》的文章,阐述了 ADO.NET 数据服务框架的基本理念、体系结构、服务端数据模型、访问协议、安全性和客户端访问。

在本文中,作者把 ADO.NET 数据服务框架定义为:

总的来说,ADO.NET 数据服务框架的目标是为那些公开和使用以数据为中心的服务,创建基于具象状态传输 (REST) 的简单框架。此类服务使用统一的界面公开数据,以供整个企业 Intranet 或 Internet 范围内的所有 Web 客户端使用。该框架由一个服务器库和一组客户端库组成,前者用于将数据作为服务安全公开,后者是为一系列 Microsoft 应用程序和技术(Microsoft? .NET Framework 和 Silverlight 等)能够使用服务而构建的。

ADO.NET 数据服务框架在对数据模型的处理上,充分使用了 ADO.NET 实体框架(ADO.NET Entity Framework)的功能,尤其基于实体数据模型(Entity Data Model,EDM)对关系数据库进行映射和访问;而对于非关系数据,则依靠 IQueryable 接口来公开。

在讨论 Web 的技术时,安全性是重点需要关注的问题,而 ADO.NET 数据服务框架则依靠 ASP.NET 和 WCF 现存的大量安全性机制,来实现身份验证、访问授权等功能。

文章的后半段,着重讲解了对 ADO.NET 数据服务框架进行访问的知识。要访问 ADO.NET 数据服务和访问常规的 WCF Services 是一致的。不过 ADO.NET 数据服务框架已经提供了相应的程序集或工具包,这些客户端库来帮助我们更容易地编写访问 ADO.NET 数据服务的代码。其中包括:

  • .NET 客户端库:为 Windows Forms、WPF、Web 应用程序提供 System.Data.Services.Client.dll 程序集。
  • Silverlight 客户端库:已经和 Silverlight 2 Beta 2 一起发布,同样还是在 Silverlight 项目中引用 System.Data.Services.Client.dll 程序集。
  • AJAX 客户端库:在 CodePlex 上 ASP.NET 项目中下载

通过对 ADO.NET 数据服务框架学习和使用,并结合相关技术,对于以数据(Data)为中心的应用,我们就可以从之前在 Client-Server 的模型下直接对数据库(即所谓的 Data 1.0)的访问,转变为在 Rich Internet Application(RIA)的模型下对数据服务(即所谓的 Data 2.0)的访问,从而迈向 Data 2.0。

另外,ccBoy 在他的一篇博客文章中也对 ADO.NET 数据服务框架给予了很高的评价:

ADO.NET 数据服务逐渐成为一个非常不错的工具和武器,它完美地和 ADO.NET 实体框架相结合,可以说很大程度上弥补了 EF 目前分布式开发的短板,同时 Data Services 本身也成功地削弱了 WCF 原来基于 SOAP 的组件通信的沉重,可以说利用了 WCF 最好的部分。

同时,他也提供了一个 Self-Hosting 实例,这种模式让以数据为中心的 RIA 应用程序,实现单机运行的模式。

2008-08-13 22:35992
用户头像

发布了 254 篇内容, 共 49.2 次阅读, 收获喜欢 2 次。

关注

评论

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

Golang Gin 框架之日志 DIY(七)

liuzhen007

28天写作 12月日更

如何在 ASP.NET Core 中重写 URL

喵叔

28天写作 12月日更

Flink 实践教程-入门(9):Jar 作业开发

腾讯云大数据

flink 流计算 Oceanus

<<长津湖>> 有感

Tiger

28天写作

Mac 常用远程连接 ubuntu 工具对比

悟空聊架构

28天写作 Mac 软件 悟空聊架构 12月日更 远程连接

Vite2 + Vue3 + TypeScript + Pinia 搭建一套企业级的开发脚手架【值得收藏】

前端开发爱好者

typescript 大前端 Vue3 Vite2

34 K8S之ServiceAccount及X509数字证书

穿过生命散发芬芳

k8s 28天写作 12月日更

Git进阶(七): 打标签

No Silver Bullet

git 学习 12月日更

一个简单的例子教会您使用 javap

Jerry Wang

Java 性能调试 28天写作 12月日更 javap

SAP 产品的 Field Extensibility

Jerry Wang

28天写作 扩展 ERP 12月日更 企业管理软件

支付宝商户号稳定性解决方案

hackstoic

支付宝 解决方案 To B业务

JavaScript数据结构之 Array

devpoint

JavaScript ES6 array 内容合集 签约计划第二季

Flink 实践教程-进阶(1):维表关联

腾讯云大数据

flink 流计算 Oceanus

su 和 sudo,你用对了吗?

xcbeyond

Linux 28天写作 12月日更 sudo

linux常用命令-历史命令和自动补全

qx

Linux

纯css实现117个Loading效果(下)

德育处主任

css3 大前端 纯CSS css特效

Flink 实践教程-进阶(2):复杂格式数据抽取

腾讯云大数据

flink 流计算 Oceanus

浅谈应用架构设计思路

陈俊

应用架构 设计指南

【Promise 源码学习】第十一篇 - Promise.all 的实现

Brave

源码 Promise 12月日更

JavaScript中的作用域和预解析

你好bk

JavaScript 大前端 ES6 HTML5, CSS3 12月日更

元宇宙:虚实相生的网络世界

石云升

学习笔记 28天写作 元宇宙 12月日更

创业研发团队的组织建设-软件工作流程

wood

创业 敏捷开发 28天写作

如何调用潜意识有效收集演讲素材-从右脑到左脑的切换

将军-技术演讲力教练

音视频实战(1)- 音频质量关键指标之QoE

liuzhen007

签约计划第二季

渗透测试如何入门?

喀拉峻

网络安全 安全

数据一致性

卢卡多多

数据一致性 28天写作 12月日更

关于元宇宙的一些认识

印無印

学习笔记 元宇宙

自定义 View:绘制垂直正弦函数

Changing Lin

12月日更

世界女性科技群落(二):种姓制度与数字微光下的生长录

脑极体

实用机器学习笔记三:网页数据抓取

打工人!

机器学习 学习笔记 12月日更 实用机器学习

搭建K8s容器化应用的开发调试环境

xiaoboey

Docker Kubernetes k3s Telepresence Skaffold

迈向Data 2.0——学习使用ADO.NET数据服务框架_.NET_朱永光_InfoQ精选文章