ASP.net中控制器和API控制器之间的区别?

时间:2016-01-27 13:49:57

标签: jquery asp.net-mvc asp.net-web-api

我必须使用 ASP.net MVC Web API 和Jquery for API Call创建应用程序。

现在的问题是:

1)如果是API控制器或简单控制器,我必须使用哪个控制器?

2)如何才能使我的项目结构更好?

如果我在不同项目中使用API​​,那么我只能使用Ajax调用,但是如何使用Razor和MVC功能模型?

如果我在MVC应用程序中使用Controller作为API控制器,那么我如何在应用程序中使用模型和视图?

1 个答案:

答案 0 :(得分:0)

因为没有其他人插手。

首先,我已发布的链接。

http://odetocode.com/blogs/scott/archive/2013/07/01/on-the-coexistence-of-asp-net-mvc-and-webapi.aspx

两者之间有很多“重叠”的术语。

哎呀,我仍然觉得很难知道哪些是有时候的。

MVC适用于“网络层”。这是向最终用户浏览器提供页面的层。 (我大部分时间都在这里,而不是每一个用例)。

当您在Visual Studio中启动Mvc / WebApi项目时,它(其中一个模板)会将MVC和WebApi混合在同一个项目中。

这不是必须如何设置,我工作的专业级应用程序不这样做。

WebApi构建〜服务。这意味着“没有Gui”与数据交互的方式(同样,最常见的用途,而不是详尽的列表)

我的应用程序是MVC,但它在单独的层上调用WebApi。 Aka,我在VS模板中分离了MVC / WebApi的“混合”。

为什么会有人这样做?因为现在,我所拥有的只是浏览器客户端。但是,在将来,如果我需要编写一个智能手机应用程序,我需要做的就是为该智能手机创建表示层,并调用我已用WebApi编写的现有服务。

这是看待它的一种方式。

虽然术语重叠,但它们用于不同目的。