Wince 要调用Wcf服务有如下要求
目前.NET CF3.5预定义的仅支持BasicHttpBinding和WindowsMobileMailBinding两种方式:
1、BasicHttpBinding,从本质上来讲,基本和原来Web Service的方式一样,因为它支持在http协议下进行传统的C/S互操作,客户端只需发出一个服务请求并等待回应。
2、WindosMobileMailBinding,这是一个Compact WCF中全新的通信方式,它使用Email作为消息传输的载体,提供了一个全双工的通信通道,允许进行非可靠的双向异步通信。
所以服务的宿主进程采用BasicHttpBinding方式
一 先下载
Power Toys for .NET Compact Framework 3.5
安装后在路径C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin\有NetCfSvcUtil.exe这个工具
拷贝到C:\NetCFSvcUtil\下
二 需选择xp系统
三 运行cmd进入命令窗口,进入C:\NetCFSvcUtil\下键入 netcfsvcutil http://192.168.1.206:90/PDAService.svc /language:cs /out:proxy.cs
然后回车确定,执行完毕,会在目录下产生两个文件CFClientBase.cs Proxy.cs
四 直接拷贝到项目下,项目引用System.ServiceModel System.Runtime.Serialzation
五 调用
System.ServiceModel.Channels.Binding bind = PDAServiceClient.CreateDefaultBinding();
string remoteAddress = PDAServiceClient.EndpointAddress.Uri.ToString();
EndpointAddress endpoint = new EndpointAddress("http://192.168.1.206:90/PDAService.svc");
PDAServiceClient client = new PDAServiceClient(bind, endpoint);
DataSet ds = client.GetBarcodeInfo(“”);
这样就可以啦