【问题标题】:ASP.NET MVC API or WCF APIASP.NET MVC API 或 WCF API
【发布时间】:2011-08-14 03:59:58
【问题描述】:

我正在开发一个 ASP.NET MVC 3 应用程序。我需要这个应用程序来使用我还需要实现的 API。 API 应该可以从 ASP.NET MVC 控制器操作和 Ajax 中获得。现在使用 ASP.NET MVC 制作 API 非常容易,但是否可以从其他 ASP.NET MVC 网站操作中使用它?我想 WCF 很容易使用,因为它只是一个服务参考。

API 的其他用户可能是 Windows Phone 和 iPhone。

更新:

许多人只将 API 视为您使用数据的地方,但是您想要执行命令或做一些事情的部分呢?比如添加客户或更改 foo?

【问题讨论】:

标签: asp.net-mvc wcf api asp.net-mvc-3 wcf-web-api


【解决方案1】:

您可能想查看我们在 PDC 上宣布的新 WCF Web API。我们最近发布了一个大升级。 WCF Web API 专为允许您以纯 HTTP 方式向一系列客户端公开 API 而设计。它是轻量级的,提供了一个很好的配置故事(没有配置文件)并且更容易测试。

您可以在wcf.codeplex.com 下载这些位。它包括各种示例,还有一组NuGet 包供您入门。在 NuGet 上搜索 webapi.all

【讨论】:

  • 是的,已经看过了。在 MIX11 上看到了演示,很棒的东西。今天晚些时候我会更深入地了解它
【解决方案2】:

我喜欢这样做的方式是使用 RESTful 控制器操作。您可以返回 JSON 并在您自己的网站上使用 JavaScript 调用。其他网站几乎肯定会理解 JSON,因此他们可以很容易地使用您的 API。这比繁重的 WCF 层更容易编写和测试。

查看这个问题,了解 MVC 的一些示例 REST 框架:

ASP.NET MVC REST frameworks

【讨论】:

  • 如果你能解释下否决票,我将不胜感激。如有必要,我可以详细说明。
【解决方案3】:

完成数据馈送的新方法之一是使用OData。 Scott Hanselman 在 Creating an OData API for StackOverflow including XML and JSON in 30 minutes 中有很好的介绍。

它甚至允许您将 LINQ 查询放入您的 URL 以准确检索您需要的数据。

【讨论】:

    【解决方案4】:

    上次我使用 WCF JSON 绑定时真的很糟糕。 WCF 还附带了各种关于流的疯狂规则,以及如何为所有内容使用 [MessageBody] 属性。

    对我来说,这是一个真正的 PITA。


    我知道我以前回答过这样的问题:

    What is the best way to implement a RESTful architecture in .NET today?

    【讨论】:

    • 不理解反对票。我想我可以展示一些例子...... WCF,即使是新的 WCF REST 与 MVC 相比也是一个真正的痛苦。
    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 2023-03-22
    • 2014-05-27
    • 2012-05-22
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多