7

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

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

更新:

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

4

4 回答 4

3

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

查看此问题以获取 MVC 的一些示例 REST 框架:

ASP.NET MVC REST 框架

于 2011-04-27T20:04:47.390 回答
3

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

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

于 2011-04-28T02:47:15.357 回答
1

完成数据馈送的一种较新方法是使用ODataScott Hanselman在 30 分钟内为 StackOverflow 创建包括 XML 和 JSON 的 OData API 中对它进行了很好的介绍。

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

于 2011-04-27T22:43:17.517 回答
0

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

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


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

今天在 .NET 中实现 RESTful 架构的最佳方式是什么?

于 2011-04-27T22:37:48.123 回答