用于iOS应用程序的WCF或Web服务(.asmx)?
问题描述:
我对web开发& web服务相当陌生。我一直在使用C#在.NET中使用传统的Web服务(.asmx)。有人建议现在有很多服务使用WCF,我想知道是否应该学习WCF并使用它与我的iOS应用程序进行通信。用于iOS应用程序的WCF或Web服务(.asmx)?
看起来像WCF将有点学习曲线,因为我没有任何.NET框架的经验(在C#中很少有经验)。我不确定是否值得花时间在WCF上,还是应该使用传统的编写Web服务的方式。
有什么建议吗?
答
我建议避开WCF,并使用Microsoft Web API或ServiceStack。两者都可以为您提供简单的RESTful服务,并支持内容协商 - 即服务应该易于在iPhone上使用。
Web API和ServiceStack都试图用更简单,更强大的东西代替WCF。我永远不会考虑今天使用WCF的任何绿地代码。旧式.asmx(SOAP)服务完全不可能。
您可以使用SOAP服务在iPhone上工作,但它比GET或POST'对URL的工作要多得多。
请务必查看this great answer进行比较。
答
我相信很多针对iOS等应用程序的RESTful服务都是通过ASP.net MVC4“web API”提供的。
答
ServiceStack有MonoTouch的和MonoDroid的client release builds。
作为其核心目标之一ServiceStack 支持和运行单声道。它也是唯一一个提供没有任何代码的类型化端对端客户端的.NET Web服务框架,它对于Web服务是最优的。
对于两者之间的更多比较,这里是关于ServiceStack vs WebApi的现有问题。
我对MVC4&.Net没有任何经验,但我理解MVC的基本概念。这是否会成为学习MS Web API的障碍? – wackytacky99 2012-07-10 17:09:47
不,我不认为这会是一个障碍,与解决WCF相比。如果你之前没有MVC经验,我会选择ServiceStack(这也是我个人最喜欢的)。它使用起来非常简单。请务必看看http://stackoverflow.com/questions/9699083/servicestack-vs-asp-net-web-api/9709236#9709236 – driis 2012-07-10 17:24:25
我想学习至少一个建设Web服务的可靠方法,我可以放在我的简历上,可以帮助我找到工作。我可能会使用Web API。 – wackytacky99 2012-07-10 17:35:43