我对网络开发和网络服务相当陌生。我一直在使用 C# 在 .NET 中使用传统的 Web 服务 (.asmx)。有人建议现在很多服务都使用 WCF,我想知道我是否应该学习 WCF 并使用它与我的 iOS 应用程序进行通信。
看起来 WCF 会有点学习曲线,因为我在 .NET 框架方面没有任何经验(C# 经验很少)。我不确定是否值得花时间在 WCF 上,或者我是否应该只使用传统的 Web 服务编写方式。
有什么建议么?
我对网络开发和网络服务相当陌生。我一直在使用 C# 在 .NET 中使用传统的 Web 服务 (.asmx)。有人建议现在很多服务都使用 WCF,我想知道我是否应该学习 WCF 并使用它与我的 iOS 应用程序进行通信。
看起来 WCF 会有点学习曲线,因为我在 .NET 框架方面没有任何经验(C# 经验很少)。我不确定是否值得花时间在 WCF 上,或者我是否应该只使用传统的 Web 服务编写方式。
有什么建议么?
我建议避开 WCF,并使用Microsoft Web API或ServiceStack。两者都可以为您提供简单的 RESTful 服务并支持内容协商 - 即服务应该易于在 iPhone 上使用。
Web API 和 ServiceStack 都试图用更简单、更强大的东西来代替 WCF。今天我永远不会考虑将 WCF 用于任何未开发的代码。旧式 .asmx (SOAP) 服务完全不可能。
您可以让 SOAP 服务在 iPhone 上工作,但它的工作量远不止针对 URL 的 GET 或 POST'ing。
请务必查看这个很好的答案以进行比较。
ServiceStack 具有MonoTouch和MonoDroid 客户端发布版本。
作为其核心目标之一,ServiceStack支持并在 Mono 上运行。它也是唯一一个无需任何代码生成即可提供类型化端到端客户端的 .NET Web 服务框架,其基于消息的方法对于 Web 服务来说是最佳选择。
有关两者之间的更多比较,这里有一个关于ServiceStack vs WebApi的现有问题。
我相信许多用于 iOS 等应用程序的 RESTful 服务都是通过 ASP.net MVC4“web API”提供的。