我正在开发ASP.NET MVC 3应用程序。我需要此应用程序来利用我还需要实现的API。 API均应从ASP.NET MVC控制器操作和AJAX可用。现在,使用ASP.NET MVC制作API非常容易,但是可以从其他ASP.NET MVC网站操作中使用它吗?我想WCF非常易于使用,因为它只是服务参考。

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

更新:

许多人仅将API视为您消耗数据的地方,但是您要执行命令或做事(例如添加客户或更改foo)的部分呢?

有帮助吗?

解决方案

您可能需要检查我们在PDC宣布的新的WCF Web API。我们最近发布了大型升级。 WCF Web API专为允许您以纯HTTP的方式将API公开到一系列客户端。它是轻巧的,提供了一个不错的配置故事(无配置文件),并且更容易测试。

您可以下载位 wcf.codeplex.com. 。它包括各种样本,还有一组 nuget 让您入门的包装。搜索 webapi.all 在nuget上。

其他提示

我喜欢这样做的方式是恢复控制器动作。您可以返回JSON并在您自己的网站上使用JavaScript使用呼叫。其他网站几乎可以肯定会了解JSON,因此他们可以轻松地消费您的API。与重型WCF层相比,编写和测试要容易得多。

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

ASP.NET MVC REST框架

完成数据供稿的新方法之一是使用 奥达塔. 。斯科特·汉塞尔曼(Scott Hanselman)对此有很好的介绍 为Stackoverflow创建一个ODATA API,包括XML和JSON 30分钟.

它使您甚至可以将LINQ查询扔到您的URL中,以准确检索所需的数据。

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

对我来说,这是一个真正的皮塔饼。


我知道我以前回答过这样的事情:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top