Asp.net mvc 4 Webapi是否可以在任何外部应用程序都无法使用的应用程序中使用?

Asp.net mvc 4 Webapi是否可以在任何外部应用程序都无法使用的应用程序中使用?,asp.net-mvc-4,controller,action,Asp.net Mvc 4,Controller,Action,我曾在某个地方读到过这样一篇文章:每当需要做数据密集型工作时,就可以使用Webapi。例如:自动完成文本框,在这里我们可以通过按键使用ajax获取数据 现在有人告诉我Webapi不应该在没有外部访问的应用程序中使用。相反,操作应该用于相同的工作,因为它能够以与webapi类似的方式返回数据 我想知道你对它的建议。取决于你如何看待它。如果您所需要的只是控制器动作的ajax化,那么您实际上不需要WebAPI。您的操作可以返回一个JsonResult,通过AJAX调用从客户端使用它非常容易 WebAP

我曾在某个地方读到过这样一篇文章:每当需要做数据密集型工作时,就可以使用Webapi。例如:自动完成文本框,在这里我们可以通过按键使用ajax获取数据

现在有人告诉我Webapi不应该在没有外部访问的应用程序中使用。相反,操作应该用于相同的工作,因为它能够以与webapi类似的方式返回数据


我想知道你对它的建议。

取决于你如何看待它。如果您所需要的只是控制器动作的ajax化,那么您实际上不需要WebAPI。您的操作可以返回一个JsonResult,通过AJAX调用从客户端使用它非常容易

WebAPI使您可以轻松地向外部客户端公开您的操作。它支持HTTP协议、Json和XML有效负载,无需编写代码即可自动开箱即用。现在,没有什么可以阻止您以AJAX方式从自己的内部客户端使用相同的WebAPI操作


所以你的问题的答案取决于你的设计。如果您没有外部客户机,那么您就不需要使用Web API。您的标准控制器操作可以完成此任务

那么,在Webapi和数据处理操作方面有什么区别呢。我观察到的是,我们需要将模型项转换为json,而这是Webapi固有的。还有什么可以帮助我支持封闭式应用程序使用Webapi的吗?你的观察是正确的。有关Web API返回类型的更多详细信息,请查看此页面()。这让您了解了直接控制HttpResponseMessage的额外控制。