【问题标题】:Can Webapi be used in an application which is not excessed by any external application?Web Api 可以在任何外部应用程序都无法访问的应用程序中使用吗?
【发布时间】:2014-10-03 09:19:19
【问题描述】:

我在某处读到过,每当需要进行数据密集型工作时,都可以使用 Webapi。例如:自动完成文本框,我们通过按键使用 ajax 获取数据。

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

我想知道您对此的建议。

【问题讨论】:

    标签: asp.net-mvc-4 controller action


    【解决方案1】:

    取决于你如何看待它。如果您只需要控制器操作的 ajax 化,那么您真的不需要 Web-API。您的操作可以返回 JsonResult,并且很容易通过 AJAX 调用从客户端使用它。

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

    因此,您的问题的答案取决于您的设计。如果您没有外部客户端,那么您就不需要拥有 Web-API 的字符串。您的标准控制器操作可以完成这项工作。

    【讨论】:

    • 那么在Webapi和Actions对数据的处理方面有什么区别吗?我观察到的是,我们需要将模型项转换为 json,而这是 Webapi 所固有的。还有什么可以帮助我支持将 Webapi 用于封闭式应用程序。
    • 你的观察是正确的。请查看此页面 (asp.net/web-api/overview/web-api-routing-and-actions/…),了解有关 Web-API 返回类型的更多详细信息。这让您对直接控制 HttpResponseMessage 获得的额外控制有所了解。
    猜你喜欢
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2012-04-09
    • 2013-07-15
    相关资源
    最近更新 更多