2010-05-20 87 views
0

我想使用.Net框架编写我的第一个REST Web服务。我看到很多人对最好的评论充满热情,甚至发现了微软的一些不同评论。对于一个新的.Net RESTful Web服务,最明智的选择是什么?

我的网络服务应该相当简单:我想公开巴士时刻表信息。我的数字资源,我会关注是

  • 票价
  • 时刻表(路线,站)

什么是最合适的(即不一定是最简单,最好玩的还是你的个人优先)技术使用WCF,ADO.NET数据服务或ASP.Net MVC?

+0

我应该指出我在这个阶段使用.Net 3.5框架。 – 2010-05-20 00:26:36

回答

2

WCF是Microsoft消息传递总线。它旨在帮助开发分布式消息驱动的服务。

WCF数据服务是WCF的顶部OData协议是通过自动生成的RESTful接口暴露你的数据可以帮助的实现。

ASP.NET MVC是一个框架,与基于模型 - 视图 - 控制器模式的Web应用程序的开发有所帮助。

你可以使用任何的三种技术,但实现你的RESTful服务:

  • 选择WCF,如果你想在你的服务接口和有效载荷的定义完全控制。
  • 如果您需要通过OData公开您的数据并尽可能减少实际服务实施,请选择WCF Data Services。
  • 如果您想要一个简单的RESTful服务,并将其与您的网站完美集成并与其共享并重新使用代码,请选择ASP.NET MVC;你不介意ASP.NET管道的开销。

我个人建议你使用WCF数据服务来实现你的服务,因为它似乎主要是数据驱动的。

+0

谢谢。这是一个非常完整的比较。 – 2010-05-20 01:14:08

-2

ASP.NET MVC是Web应用程序,因此并不

我们目前使用WCF在工作和I'n没有过来joyed的设计虽然看上去简单易用的web.config文件是一个痛苦屁股和它很容易把所有东西放在一个巨大的服务。

还没有使用ADO.Net Data Services所以不能说。

诚实书于使用Java的解决方案,而不是,我只是在工作的微软生态系统的工作,并能避免工作场所,只有使用微软如果我换了工作。

Java是更漂亮,语言和API是清洁,没有用于企业级应用很多更第三方软件。

+0

为什么选择投票? – eaglestorm 2010-05-20 00:37:49

+0

尊重,这不会帮助我。问题是关于哪个* .Net *框架最好。不是一般的框架。我毫不怀疑Java为Web服务提供了一些很好的选择,但这不是我的技能,我也没有倾向于通过完全不同语言的intracacies工作。 – 2010-05-20 00:38:36

+0

那么我的回答将是WCf是一个不好的批次的最新版本,因此可能是最好的。 – eaglestorm 2010-05-20 00:39:49

5

如果你想简单,只需使用通用处理程序(.ashx)。

如果你想复杂,那么WCF。

就个人而言,我已经做了几个项目,WCF和很坦率地说不会心甘情愿地做一个又一个。为了让最简单的东西起作用,这是一个巨大的代码量。

+1

新我不能同意更多。我使用WCF和Silverlight完成了一个项目,并且由于序列化的问题导致所有血腥的代理类被搞砸了,所以我失去了一个星期,试图找到问题....特别是因为不友好的错误消息对任何事情都没有帮助! – vtortola 2010-05-20 00:45:37

1

您也可以开发自己的程序,创建一个处理所有请求的http处理程序,并自己解析url。这有点困难和费时,但你得到了更多的控制。我用这种方法做了一个,所以我得到了URL,并且我解析了不同的段和请求流,从而知道应该将哪些数据推送到XML中的输出流。

它是一个您必须交付和忘记的项目,使用WCF REST,但是如果它是针对您自己或您自己的公司的应用程序,或者只是想学习并乐于看到所有内容如何工作,让一旁的快乐微软“一切功能于一身的框架”,并自己动手:d

干杯。