iOS 应用程序的 WCF 或 Web 服务 (.asmx)?

Posted

技术标签:

【中文标题】iOS 应用程序的 WCF 或 Web 服务 (.asmx)?【英文标题】:WCF or Web Services (.asmx) for iOS application? 【发布时间】:2012-07-10 04:40:29 【问题描述】:

我对 Web 开发和 Web 服务还很陌生。我一直在使用 C# 在 .NET 中使用传统的 Web 服务 (.asmx)。有人建议现在很多服务都使用 WCF,我想知道我是否应该学习 WCF 并使用它与我的 ios 应用程序进行通信。

看起来 WCF 将是一个学习曲线,因为我在 .NET 框架方面没有任何经验(在 C# 方面的经验很少)。我不确定是否值得花时间在 WCF 上,还是应该只使用传统的 Web 服务编写方式。

有什么建议吗?

【问题讨论】:

【参考方案1】:

我建议不要使用 WCF,并使用 Microsoft Web API 或 ServiceStack。两者都可以为您提供简单的 RESTful 服务并支持内容协商 - 即服务应该易于在 iPhone 上使用。

Web API 和 ServiceStack 都试图用更简单、更强大的东西来取代 WCF。今天我永远不会考虑将 WCF 用于任何未开发的代码。旧式 .asmx (SOAP) 服务完全不可能。

您可以让 SOAP 服务在 iPhone 上工作,但它的工作量远不止针对 URL 的 GET 或 POST'ing。

请务必查看this great answer 进行比较。

【讨论】:

我在 MVC4 和 .Net 方面没有任何经验,但我了解 MVC 的基本概念。这会成为学习 MS Web API 的障碍吗? 不,与处理 WCF 相比,我不认为这是一个障碍。如果您之前没有 MVC 经验,我会选择 ServiceStack(这也是我个人的最爱)。使用起来非常简单。请务必查看***.com/questions/9699083/… 我想学习至少一种可靠的构建 Web 服务的方法,我可以把它放在我的简历上,并且可以帮助我找到工作。我可能会使用 Web API。【参考方案2】:

我相信很多用于 iOS 等应用程序的 RESTful 服务都是通过 ASP.net MVC4“web API”交付的。

【讨论】:

【参考方案3】:

ServiceStack 有 MonoTouchMonoDroid client release builds。

作为其核心目标之一,ServiceStack 支持并在 Mono 上运行。它也是唯一一个无需任何代码生成即可提供类型化端到端客户端的 .NET Web 服务框架,其message-based approach 是 Web 服务的最佳选择。

关于两者之间的更多比较,这里是ServiceStack vs WebApi 上的一个现有问题。

【讨论】:

以上是关于iOS 应用程序的 WCF 或 Web 服务 (.asmx)?的主要内容,如果未能解决你的问题,请参考以下文章

asmx 到 WCF 或 Web API

用于托管 WCF 集成服务的 Azure Web 应用程序或云服务

WCF 服务和内部客户端的性能问题

WCF 服务应用程序或 WCF 服务库? [复制]

WCF 何时使用 app.config 或 web.config?

将 .net 远程处理替换为 WEB API、WCF、SignalR 或 Akka.net