PDA访问WCF具体步骤浅析

WCF作为一个.NET Framework 3.5的重要组成部分,其功能非常强大,可以帮助开发人员实现许多功能。在这里我们就可以先来了解一下PDA访问WCF的相关步骤,希望可以帮助大家掌握这方面的知识。

成都创新互联在网站设计、网站制作、app软件开发、网站运营等方面均有出色的表现,凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,我们更提供一系列成都全网营销推广,网站制作和网站推广的服务,以推动各中小企业全面信息化,并利用创新技术帮助各行业提升企业形象和运营效率。

最近在做一个系统,客户端有两种类型,有PC和PDA。为了能支持不同的平台,并且复用业务逻辑,采用了WCF。PC及机部署的是WinForm的应用程序,比较容易。现在通过一个简单的PDA访问WCF例子说一下PDA如何做,注重的是这个过程。

现在从最开始的服务创建开始:

1、创建服务接口、定义服务端和客户端之间的数据传输类

 
 
 
  1. [ServiceContract]
  2. public interface IWcfServcie
  3. {
  4. [OperationContract]
  5. double Add(double x, double y);
  6. [OperationContract]
  7. DTO Create(string name, int age);
  8. }
  9. [DataContract]
  10. public class DTO
  11. {
  12. [DataMember]
  13. public string Name = string.Empty;
  14. [DataMember]
  15. public int Age = 0;
  16. }

2、实现接口

PDA访问WCF的功能非常的简单,一个是将两个数加起来,一个是构造一个DTO对象。

 
 
 
  1. public class WcfServcie : IWcfServcie
  2. public double Add(double x, double y)
  3. {
  4. return x + y;
  5. }
  6. public DTO Create(string name, int age)
  7. {
  8. DTO obj = new DTO();
  9. obj.Name = name;
  10. obj.Age = age + 1;
  11. return obj;
  12. }
  13. }

3、启动服务端发布服务

当然PDA访问WCF发布的方式很多,IIS、Windows Service和WinForm应用程序等都可以作为发布WCF的宿主程序。这里为了简单,我使用console程序进行发布。最关键的还是Uri和binding,如果想在PDA上调用wcf服务,那么binding必须采用BasicHttpBinding,这点必须注意。

 
 
 
  1. Uri baseUri = new Uri("http://localhost:8080/wcfService");
  2. using (ServiceHost wcfServiceHost = new ServiceHost
    (typeof(Service.WcfServcie), baseUri))
  3. {
  4. BasicHttpBinding binding = new BasicHttpBinding();
  5. wcfServiceHost.AddServiceEndpoint(typeof(IWcfServcie), 
    binding, string.Empty);
  6. ServiceMetadataBehavior behavior = wcfServiceHost.
    Description.Behaviors.Find();
  7. if (behavior == null)
  8. {
  9. behavior = new ServiceMetadataBehavior();
  10. behavior.HttpGetEnabled = true;
  11. behavior.HttpGetUrl = baseUri;
  12. wcfServiceHost.Description.Behaviors.Add(behavior);
  13. }
  14. else
  15. {
  16. behavior.HttpGetEnabled = true;
  17. behavior.HttpGetUrl = baseUri;
  18. }
  19. wcfServiceHost.Open();
  20. Console.Read();
  21. }

4、检查服务是否已发布#t#

编译后启动服务端程序,使用“:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\WcfTestClient.exe”,可以检查服务是否正常发布,当然也可以使用IE。我一般使用WcfTestClient.exe,它可以针对每个方法做测试。

5、创建PDA访问WCF服务代理类

可以手动写这部分代码,如果不想自己写代理类,那就下载NETCFv35PowerToys.msi并安装,然后“:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin”会有一个程序NetCFSvcUtil.exe。通过cmd执行“NetCFSvcUtil.exe http://localhost:8080/wcfService" ,\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\bin目录下会出现生成的两个文件CFClientBase.cs和WcfServcie.cs,这就是服务的代理类。需要注意的是WcfServcie.cs中”public static System.ServiceModel.EndpointAddress EndpointAddress = new System.ServiceModel.EndpointAddress("http://localhost:8080/wcfService");“,将”localhost“改为服务端的Ip。

6、创建SmartSeviceProject,平台根据具体项目情况决定,然后将上面创建的两个文件加入到项目中

 
 
 
  1. WcfServcieClient service = new WcfServcieClient();//服务代理对象
  2. private void button1_Click(object sender, EventArgs e)
  3. {
  4. this.textBox6.Text = service.Add(Convert.ToDouble(this.textBox1.Text), 
    Convert.ToDouble(this.textBox2.Text)).ToString();
  5. }
  6. private void button2_Click(object sender, EventArgs e)
  7. {
  8. DTO obj = null;
  9. obj = service.Create(textBox4.Text, Convert.ToInt32(textBox3.Text));
  10. textBox5.Text = string.Format
    ("Name is : {0} Age is : {1}", obj.Name, obj.Age);
  11. }

7、编译SmartDevice项目后运行。打完,收工。以上就是对PDA访问WCF的相关介绍。

当前标题:PDA访问WCF具体步骤浅析
转载注明:http://www.shufengxianlan.com/qtweb/news4/145854.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联