我想开始编写一些REST Web服务作为提供数据的方式.我想当我的REST Web服务可用时,我的一些Web应用程序和控制台应用程序将能够使用REST Web服务作为数据服务来获取,添加,更新和删除数据到数据库.除此之外,我想添加身份验证功能来识别任何请求.
我的问题是我应该从哪里开始?我看到了Microsoft ADO.Net数据服务.不确定这是一个好的开始吗?有没有可用的例子?
查看WCF MSDN站点中的REST和入门工具包.这里也有好文章.
您可能还想查看servicestack.net一个开源,跨平台,高性能的Web服务框架,它允许您使用代码优先,强类型DTO开发Web服务,该DTO将自动(无任何配置)立即可用在各种不同的端点上开箱即用(即XML,JSON,JSV,SOAP 1.1/1.2).
此外,您可以通过您选择的任何ReST-ful URL提供相同的Web服务,其中您的REST客户端可以指定首选的序列化格式,即
使用HTTP Accept:标头
将首选格式附加到查询字符串,例如?format = xml
见没有什么,但休息!有关如何使用仅1页jQuery和1页C#开发完整REST-ful Ajax CRUD应用程序的Web服务示例.
一个好的起点是Hello World示例,了解如何轻松地将ServiceStack Web服务添加到任何现有的ASP.NET Web应用程序.
为了提高性能,ServiceStack构建了一个优秀的Ajax服务器,因为它与最快的JSON Serializer for .NET捆绑在一起(比其他JSON Serializer快3倍).
查看这个实时Ajax应用程序的味道(在Linux/Nginx/MONO上托管的现场演示).
ServiceStack还可以轻松创建强类型无摩擦Web服务,只需使用以下代码即可返回客户POCO列表:
public class CustomersService : RestServiceBase{ public IDbConnectionFactory DbFactory { get; set; } public override object OnGet(Customers request) { return new CustomersResponse { Customers = DbFactory.Exec(dbCmd => dbCmd.Select ()) }; }
没有其他配置,您现在可以调用上面的Web服务REST完全返回所有:
XML
JSON
CSV
HTML
JSV
肥皂
您可以使用您首选的通用ServiceClient(即Json,Xml等),使用与您的Web服务定义相同的DTO(即不需要代码生成)来调用上述Web服务.这允许您使用强类型API调用您的Web服务,只需1行代码:
C#同步示例
IServiceClient client = new JsonServiceClient("http://host/service"); var customers = client.Send(new Customers());
由于您的Web服务也是REST服务,因此它可以与JavaScript ajax客户端无缝协作,例如:
使用jQuery
$.getJSON("http://host/service", function(r) { alert(r.Customers.length); });
ASP.NET Web API现在是用于创建RESTful服务的Microsoft框架.
http://www.asp.net/web-api