哪个更适合为我的网站构建API:MVC或Ado.net数据服务?

时间:2011-07-03 20:49:39

标签: asp.net-mvc web-services api wcf-data-services odata

我有一个使用MVC构建的网站,现在我想为这个网站构建一个API,让用户使用这个API来实现不同的网站,Web服务,插件和浏览器扩展。

我经历了这个article,但还没有使用哪个。

有关我要构建的API的一般信息:
API的用户将拥有一个密钥用户名和密码,以便能够使用API API将允许用户在验证此数据后向我的数据库添加内容 API将允许用户将图像上传到我的服务器 API需要友好的URL。

哪种技术适用于我的情况?

还有助于我决定知道stackoverflow API背后的技术是什么?

3 个答案:

答案 0 :(得分:8)

试试WCF Web Api。它有很多很酷的东西来创建好的RESTFul api,它可以满足你的所有要求。

  • 您将使用基本或一些自定义http授权,简单就是这样。
  • 您将公开用于创建数据,验证和返回响应的非常基本的URL,这些都很简单。
  • RESTFul表示友好的url -s。

一般的想法是,这个库为您提供强大的操作选项,从请求的一开始直到它的响应。这是.NET Framework和WCF的主要HTTP api,它继续发展。

答案 1 :(得分:3)

您是否考虑使用OpenRasta

其干净,ReSTful方法使其非常适合在.NET中开发基于Web的API。

答案 2 :(得分:1)

除非您有非常令人信服的理由使用WCF,否则为什么不通过ASP.NET MVC站点公开您的数据。您可以从ASP.NET MVC中轻松返回适合您需要的JSON或任何其他非HTML数据格式。

根据您的网站与API之间的界面需要的相似程度,您可以使用现有的控制器/操作或创建新的控制器/操作。从理论上讲,如果HTTP请求指示“application / json”,您只需将JSON返回给那些请求并完成......但实际上,您可能需要调整端点(控制器/操作)以使它们对新的友好消费者(针对您的API的其他开发者)

WCF非常好,功能丰富,但不是每个人都熟悉它。你可能会产生一个学习曲线,以便对它有一个很好的理解。同样,如果有一个非常有效的理由,那么它是值得的,但是根据你所描述的,你可能会对普通的ASP.NET MVC一样好。