当前位置:  开发笔记 > 编程语言 > 正文

从C#或ASP.Net开始REST Web服务的位置

如何解决《从C#或ASP.Net开始RESTWeb服务的位置》经验,为你挑选了3个好方法。

我想开始编写一些REST Web服务作为提供数据的方式.我想当我的REST Web服务可用时,我的一些Web应用程序和控制台应用程序将能够使用REST Web服务作为数据服务来获取,添加,更新和删除数据到数据库.除此之外,我想添加身份验证功能来识别任何请求.

我的问题是我应该从哪里开始?我看到了Microsoft ADO.Net数据服务.不确定这是一个好的开始吗?有没有可用的例子?



1> JP Alioto..:

查看WCF MSDN站点中的REST和入门工具包.这里也有好文章.


第一个链接根本没有特别谈论C#或.Net,它只谈到REST.

2> mythz..:

您可能还想查看servicestack.net一个开源,跨平台,高性能的Web服务框架,它允许您使用代码优先,强类型DTO开发Web服务,该DTO将自动(无任何配置)立即可用在各种不同的端点上开箱即用(即XML,JSON,JSV,SOAP 1.1/1.2).

REST,RPC和SOAP开箱即用

此外,您可以通过您选择的任何ReST-ful URL提供相同的Web服务,其中您的REST客户端可以指定首选的序列化格式,即

使用HTTP Accept:标头

将首选格式附加到查询字符串,例如?format = xml

见没有什么,但休息!有关如何使用仅1页jQuery1页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

肥皂

访问客户端上的Web服务

您可以使用您首选的通用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); });



3> gooseman..:

ASP.NET Web API现在是用于创建RESTful服务的Microsoft框架.

http://www.asp.net/web-api

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有