我有一个个人项目,一个中央应用程序和3到5个客户端(一个网站,iPhone应用程序,Android等...)。我正在尝试将重点放在服务器上的.NET上。
我是否应该将ASP.NET MVC 3用于网站和API
或
我应该将WCF项目和A Web项目作为两个独立的解决方案吗?
答案 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实现而产生的任何复杂性\差异。