gpt4 book ai didi

wcf - 为什么将 ASP.NET MVC 2 用于 REST 服务?为什么不是 WCF?

转载 作者:行者123 更新时间:2023-12-03 12:44:02 25 4
gpt4 key购买 nike

所以我看到 MVC 2 现在支持 [HttpPut][HttpDelete]以及 [HttpGet][HttpPost] ,使得使用它做一个完整的 RESTful Web 服务成为可能。

我已经使用 WCF 的 REST 工具包有一段时间了,发现它相当强大,但我很想知道使用 MVC 2 方法有哪些(如果有的话)优势。

欢迎链接、 war 故事,甚至纯粹的传闻。

最佳答案

我很确定 ASP.NET MVC 从一开始就支持所有 HTTP 动词。至少 HttpVerb Enumeration从一开始就拥有它们。 V2 中唯一的新特性是它们是属性。

// V1
[AcceptVerbs( HttpVerbs.Delete )]

// V2
[HttpDelete]

六个一个,六个另一个。至于您是想通过 WCF 还是 ASP.NET MVC 公开功能,这取决于您对应用程序的看法。
  • 如果您将其视为一个胖客户端应用程序,它恰好是用 JavaScript 编写的,并为 调用了 RESTful 服务。数据 (然后在客户端对其进行格式化)然后 WCF 会感觉是一个更正确的解决方案(即使您可以使用其中任何一个来做到这一点)。
  • 但是,如果您将应用程序视为返回 的服务器应用程序,内容 以某种形式进行消费,那么使用 RESTful API 进行操作会更有意义。您的操作将返回完全格式化的内容,这些内容将显示在浏览器中,无需进一步处理。您可以从 Web 服务返回格式化的内容(HTML 或其他),但这会让人感觉有些不对劲。

  • 至少这种区别在我看来是有道理的=)。您可能还对 Phil Haack 在 How a Method Becomes an Action 上的帖子感兴趣.

    现在有另一个选项, Web API . ScottGu在他的博客中有一个简短的介绍,还有一篇有趣的博客文章讨论了使用 Web API 与 Controller 创建 API here .

    关于wcf - 为什么将 ASP.NET MVC 2 用于 REST 服务?为什么不是 WCF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2530880/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com