如何在asp.net中创建RESTful Web服务?

时间:2010-04-26 16:00:03

标签: asp.net wcf rest wcf-data-services wcf-rest

我只想创建一个相当基本的REST服务,这样我就可以将我的asp.net/SQL服务器应用程序中的一些数据暴露给外部工作,就像这样......

http://domain.com/api/offices - 将返回一组xml的办公地点。 http://domain.com/api/offices/15 - 将返回办公室15的所有细节。

这些都是相当标准的东西(包括基本身份验证),但似乎有几种方法可以使用Microsoft技术实现这一点,我真的不知道从哪里开始。这些似乎是选择......

1)WCF

2)ASP.NET MVC

3)ADO.NET数据服务

4)Rest Starter Kit项目模板?

这些是创建网络服务最简单,最“最新”的解决方案吗?

3 个答案:

答案 0 :(得分:2)

如果您不打算在将来添加任何其他端点(如SOAP等),并且Silverlight客户端不会使用该服务,我建议使用ASP.NET MVC。

如果涉及Silverlight,则使用ADO.NET数据服务。

如果您计划构建具有多种端点类型的强大服务框架,请使用WCF。

答案 1 :(得分:2)

有一些选择,不确定你是否听说过它们,但不妨看看它们:

  • Open Rasta这是一个相当自以为是的Rest框架,可以让您创建Web服务和网站,但是首先要了解它有点奇怪;它的重量很轻,有理由给它一个去,它需要一些关于Rest实际如何工作的想法(而不是你可能习惯的.net抽象),我认为它对asp.net没有很强的依赖性。 ,对我来说一个明显的优势是你可以编码为HTML,JSON或你可能需要的任何格式,它非常有趣

  • 那里的另一个选项(我没用过)是Siesta,它在Asp.net mvc上工作

Wcf配置很快就会非常痛苦......

希望有所帮助

答案 2 :(得分:1)

ADO.NET数据服务现在是WCF数据服务,这就是我推荐的。它很容易使用(至少对于您描述的服务类型)。您可能还想查看Open Data Protocol - 您可能不需要它,除非您支持非.NET客户端(PHP,Java)。