2010-04-26 77 views
3

我只是想创建一个相当基本的REST服务,这样我就可以暴露一些我asp.net/SQL服务器应用到外面的作品,这样的数据.....如何在asp.net中创建RESTful Web服务?

http://domain.com/api/offices - 会返回一组xml办公地点。 http://domain.com/api/offices/15 - 将返回办公室15

这一切都相当标准的东西(包括基本身份验证)的所有细节,但似乎有几种方法来实现这一目标使用微软的技术,我真的不知道从哪里开始。这些似乎是选项...

1)WCF

2)ASP.NET MVC

3)ADO.NET数据服务

4)休息入门套件项目模板?

其中哪些是创建Web服务的最简单和最“最新”的解决方案?

+0

获取使用WCF设置的REST和JSON可能是一种令人沮丧的体验。 – 2010-04-26 16:12:01

回答

2

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

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

如果您打算构建一个具有多个端点类型的健壮的Service框架,那么请使用WCF。

+0

第二个用于ASP.NET MVC。我们的团队在我们的最后一个网络项目中使用了它,并对此非常满意。 – 2010-04-26 16:05:53

+0

我准备从头开始学习MVC,如果我不得不使用像WCF REST入门工具包那样更容易吗? – jonhobbs 2010-04-26 16:52:06

+0

@jonhobbs最后我检查了WCF REST入门套件并不完美。它生产的服务肯定存在一些问题。我已经知道有几个人在使用.NET MVC构建RESTful服务方面取得了成功。 – 2010-04-26 17:24:17

2

有几个选择,不知道你是否听说过,但还不如看看他们:

  • Open Rasta IT SA相当有主见的REST框架,可以让你创建Web服务和Web站点,其有点奇怪,首先得到你的头,但是;它的重量如此之轻以致它可以顺利运行,它需要关于Rest如何工作的一些想法(而不是你可能习惯的.net抽象),并且我认为它对asp.net没有很强的依赖性,对我来说,一个明显的优势是你可以编码为HTML,JSON或任何你可能需要的格式,其相当有趣

  • 另一种选择是(我没用过),是Siesta, Asp.net MVC

WCF配置可以得到非常痛苦的速度非常快...

希望它可以帮助

1

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

+0

我实际上想要将数据公开到Java Android应用程序,但是无论如何,即使使用asp.net创建,我也无法使用Java访问RESTful服务? ODP的优势是什么? – jonhobbs 2010-04-26 16:50:46

+0

根据此页面,WCF数据服务无论如何产生OData服务 - http://msdn.microsoft.com/en-us/data/bb931106.aspx - 这是非常混乱。 – jonhobbs 2010-04-26 16:53:34

+0

您可以从MS for Java获得客户端ODP库。如果你正在使用实体框架类或其他涉及到的动作,这将会很方便,但如果你所做的仅仅是获取一个名称的简单层次结构:值对,我怀疑这是值得的。 – TMN 2010-04-26 17:42:37