Astoria是微软公司开发的,互联网上数据服务的基础架构。它基于REST架构,帮助开发人员仅通过标准的HTTP协议,如GET,POST,PUT或者DELETE就能访问数据。Astoria构建在ADO.NET Entity Framework之上,使用使用标准的数据格式如XML,JSON或者RDF进行数据传输。现在CTP已经提供下载,在使用Astoria之前需要安装ADO.NET Entity Framework和相关Tools。
安装好ADO.NET EF,Tools和Astoria CTP后就能使用了,首先打开VS 2008 beta2,建立Web Application工程,然后利用ADO.NET EF向导映射数据库中的表Customers和Orders(关于怎样映射,在我的文章ADO.NET Entity Framework 学习(1)中有提到)
添加Web Data Service:
向导自动生成两个文件,NorthwindDataService.svc和NorthwindDataService.svc.cs,打开cs文件,做一个修改:
public class NorthwindDataService : WebDataService< /* TODO: put your ObjectContext class name here */ >
改成
public class NorthwindDataService : WebDataService<NorthwindEntities>
最后将NorthwindDataService.svc设置为开始页,运行。
可以看到这里返回的是XML格式的数据,用RIA能够轻松的展示出来。
在NorthwindEntities里面有两项,Customers和Orders,各自包括名为href的attribute,这里面的值就是访问路径。如果我们想访问所有的Customers,在url后面加上/Customers,便能看到结果
也可以增加条件查询,如/Customers[City eq London],便能获得所有城市为London的Customer
如果要查询某一个Customer的Orders,在url后加上/Customers[ALFKI]/Orders,便能获得ALFKI用户的所有Orders了:
Astoria是一个很有用的框架,能够让开发人员很简单的进行数据访问编程。如果想要深入了解,可以参考帮助文档和示例程序,安装后会有。
本文地址: http://www.cnblogs.com/blusehuang/archive/2007/10/16/926208.html