.net XML/JSON REST API的MVC2或WCF?

.net XML/JSON REST API的MVC2或WCF?,.net,asp.net-mvc,wcf,rest,.net,Asp.net Mvc,Wcf,Rest,我花了很长时间学习如何从在RESTful服务上添加身份验证等角度定制WCF;我构建了一些定制服务主机,然后添加了使用IOC容器实际创建服务实例等功能 我们有iPhone/iPad应用程序,加上一些其他小工具类型的东西(技术术语!),现在使用这些(i-platform上的XML,基于浏览器的JSON),我对性能和添加新操作的方便性非常满意 我了解了DataContract序列化程序的所有缺点(现在在单独的情况下使用它们来读取/写入WCF之外的对象),在经历了这段陡峭的学习曲线之后,现在我们有了它们

我花了很长时间学习如何从在RESTful服务上添加身份验证等角度定制WCF;我构建了一些定制服务主机,然后添加了使用IOC容器实际创建服务实例等功能

我们有iPhone/iPad应用程序,加上一些其他小工具类型的东西(技术术语!),现在使用这些(i-platform上的XML,基于浏览器的JSON),我对性能和添加新操作的方便性非常满意

我了解了DataContract序列化程序的所有缺点(现在在单独的情况下使用它们来读取/写入WCF之外的对象),在经历了这段陡峭的学习曲线之后,现在我们有了它们,我对它们都非常满意

现在我们有了一系列新的Web项目,我抓住了使用MVC的机会,对此印象深刻;特别是模型绑定,真的很有意思

我现在正在为这些web项目寻找类似的RESTful API(它们都是类似的站点,但不同的品牌和业务逻辑的细微变化取决于定制需求)。起初,我希望所有这些关于WCF的工作都会对我们有好处——但是MVC有自己的RESTful XML/JSON开发路径,现在我被夹在两者之间了

如果您正在编写一个MVC站点,您会使用WCF实现其RESTAPI吗

我将抛出一个使用WCF的论点——如果写得好,它可以被隔离以作为windows服务运行,而不需要Web服务器。然而,这似乎是一个绝望的情况

更新


我应该说,我现在已经使用MVC2和MVC3实现了3个独立的大型REST服务,使用它是一种乐趣。我已经编写了模型绑定来包装WCF的DataContractSerializer for XML,当然JSON支持也不错。我现在不回去了。

我从未使用过WCF,但我目前正在使用MVC2实现REST API

在大多数情况下,它是非常适合的,但也有一些差距,它涉及到一个学习曲线位。我需要使用更好的XML支持。我使用MVC futures来支持将JSON对象发送到操作方法(请参阅:)。我还需要获取这方面的源代码并对其进行修改,以便它能够支持XML

我听说有一些REST框架位于.NETMVC之上,但我还没有机会尝试它们


如果您熟悉WCF,并且上次它运行得很好,那么我会坚持您所知道的。

我已经使用WCF做REST很长一段时间了,我的建议是使用MVC。如果您只想处理XML和Json,并且URI空间相对简单,那么您可以使用WCF。然而,一旦你从基本的东西中走出来,你就需要非常熟悉WCF来解决它的默认行为。

是的,MVCs支持方面的差距让我有点困扰;我在WCF中没有发现任何漏洞,只是奇怪的行为。但是能够将API与站点的MVC部分集成在相同的状态和对象模型中将是一个真正的好处!谢谢你的链接。因为链接而回答。我想你和达雷尔都在建议MVC,如果我可以的话——我会的。谢谢你们两位!我当然同意,要充分利用REST的经验,就需要对WCF有很好的了解。有一件事我特别不喜欢(但在遇到MVC之前我一直很喜欢),那就是静态路由——使用URI模板字符串作为属性:路由表是一个更好的解决方案。@据我所知,Andras和Andras在封面下都使用相同的路由机制。唯一的区别是他们填写表格的方式。随着时间的推移,出现了一些版本差异,导致了不同的行为,但它们都使用System.Web.Routing。是的,对不起,你是对的;在我看来,MVC刚刚做到了这一点——但这两个系统的设计目的是解决不同的问题。我是WCF的超级粉丝(虽然一开始不是),我只是有点紧张,我想,为了这个目的,我会和它说再见!多伤心啊!