我应该从我的网站上将API作为单独的应用程序或系列处理程序吗?

时间:2011-11-11 16:45:33

标签: asp.net-mvc wcf api

我有一个个人项目,一个中央应用程序和3到5个客户端(一个网站,iPhone应用程序,Android等...)。我正在尝试将重点放在服务器上的.NET上。

我是否应该将ASP.NET MVC 3用于网站和API

我应该将WCF项目和A Web项目作为两个独立的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我没有使用Microsoft堆栈的经验,但在Java世界中,我使用Spring MVC使用REST接口同时执行我的网站和API。使用REST URL,在浏览器中查看网站只是查看API的一种方式。如果您传入XML或JSON的接受编码请求标头,则会相应地收到您的响应。

我怀疑在大多数情况下,如果您的API是基于Web的,那么可以将它放在与Web视图相同的项目中,特别是对于较小的站点。只要您的MVC层理解多视图解析器的概念,您就可以了。

答案 1 :(得分:1)

ASP.Net MVC足以支持API和生成视图。有了它的JSON和XML ActionResult支持ASP.Net MVC可以模拟类似于WCF的接口。如果你设计自己使用API​​访问后端的Web应用程序,你可以很好地使用MVC。如果你需要一些高级功能,你可以随时创建WCF应用程序并替换MVC实现。
您可以在.Net中创建一个可以与服务器交互的客户端库,隐藏由于WCF或MVC实现而产生的任何复杂性\差异。