到ASP.NET MVC或RESTful或WCF REST服务

时间:2009-05-04 03:06:27

标签: .net web-services

我的客户根据其会员资格提供与杂货店消费者购物习惯相关的各种数据。

他们的一家供应商希望利用数据并为公司构建内部网站点。我的所有客户都愿意提供某种形式的Web服务,以便供应商可以根据需要使用数据并使用该数据构建其Intranet站点。

提供此数据的推荐方法是什么? 2.0 webservice或某种.NET REST服务或WCF服务?

数据存储在sql。

搜索的一个例子,一个假设的搜索可能是获取消费者购买糖的数据,并在某些日期之间购买馅饼皮,这可能导致0..n记录需要被送回供应商供他们消费。

4 个答案:

答案 0 :(得分:4)

尽管WCF是一种获取休息服务的简单方法,特别是如果您使用.net客户端使用它,我更喜欢使用ASP MVC来创建自己的服务。

它为您提供了更精细的资源控制。您可以查看HTTP标头以获取身份验证信息,内容类型等,也可以根据操作结果返回自定义HTTP状态代码。您不会受限于WCF约定。在使用服务时你将不得不做更多的手工工作,但我觉得最终结果是值得的。

答案 1 :(得分:2)

不确定要求是什么,但您也可以考虑查看ADO.NET数据服务:http://msdn.microsoft.com/en-us/data/bb931106.aspx

此框架可以简化添加对关系数据的RESTful访问...并以JSON,XML等方式返回结果。

答案 2 :(得分:1)

我认为这实际上取决于您想要提供数据的格式。如果您正在考虑使用SOAP,那么WCF就是您的选择。如果要提供XML或JSON,则可以执行WCF或MVC。如果两端都是.NET,那么SOAP解决方案可能没问题。如果有可能必须支持该服务的其他平台,那么我将考虑使用JSON或XML。我的偏好可能是JSON / XML和MVC,因为WCF的设置对于简单的Web服务来说似乎有些过分。 .NET中的旧式Web服务正在逐步淘汰,以支持WCF,因此我可能不会采用这种方式。

答案 3 :(得分:0)

如果您不需要在其他应用程序中重用Web服务,我建议使用ASP.NET MVC。在ASP.NET MVC中以JSON格式序列化数据并使用jQuery消费它非常容易。