iPhone调用WCF服务

之前在与服务器通讯时,都是用的Web Service,现在有的后台开始采用WCF服务。

WCF概述。

Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口 可以翻译为Windows通讯接口,它是.NET框架的一部分,由 .NET Framework 3.0 开始引入,与 Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代 Windows 操作系统以及 WinFX 的三个重大应用程序开发类库。在 .NET Framework 2.0 以及前版本中,微软发展了 Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winsock 等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如 .NET Remoting 可以开发 SOAP, HTTP 通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务架构(Service-Oriented Architecture) 也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是 Windows Communication Foundation。


之前WebService对应的文件类型是asmx,而WCF对应的文件类型是scv。iPhone上调用WCF要比WebService麻烦一点。

WCF的弹性可能就在于是最基本的SOAP协议,客户端需要Format SOAP协议的文本,再用Http的Post方法发给服务器端。


下面有一个微软的MVP写的一个示例,与大家分享。

转载地址:http://mobile.51cto.com/iphone-252869.htm


一些复杂的逻辑处理放到服务端实现,客户端与服务端通过XML交互,在iPhone客户端解析XML通过cocoa展示数据。由于iPhone和DoNet是两个完全不同的平台。iPhone依靠mac系统平台,DoNet依赖Windows系统平台。这篇文章我将通过一个Hello World程序讲述一下通过WCF实现从mac系统到Windows的跨平台的调用。

iPhone调用WCF服务_第1张图片

1、创建简单的WCF服务 

服务契约代码如下:

iPhone调用WCF服务_第2张图片

实现如下:

iPhone调用WCF服务_第3张图片

2、在iPhone中调用WCF

与DoNet调用WCF服务不同,这里使用NSURLConnection去获取WCF服务端的数据,代码如下:

iPhone调用WCF服务_第4张图片

点击查看大图

NSURLConnection的委托方法:

iPhone调用WCF服务_第5张图片

点击查看大图

解析XML的中Hello World的委托方法,对于Objective-C解析XML可以看我的上一篇博客:

iPhone调用WCF服务_第6张图片 

 点击查看大图

运行:

iPhone调用WCF服务_第7张图片





你可能感兴趣的:(iOS开发,移动互联网)