zoukankan      html  css  js  c++  java
  • WCF

    序言

    接下来讲解一下,如何创建WCF客户端实现与WCF服务端的通信。这里我们主要讲的是与上一节中创建的WCF服务端的通信。

    方法一、通过微软自带的svcutil工具生成客户端代理类的方式

    创建WCF服务端传送门

    1、我们添加一个控制台应用程序,命名为Client;

    2、以管理员身份启动Host.exe;

    3、接下来我们使用微软自带的svcutil来生成Host服务的客户端代理类。以管理员身份启动VS自带的开发人员工具,并将目录转到Client项目文件夹下。

      cd C:UsersJeremyDesktopWcfDemoClient

      svcutil http://localhost:8800/?wsdl /o:Client.cs

    4、将生成的2个文件复制到Client项目中,或者在Client添加现有项。并添加System.ServiceModel;

    5、删除现有的App.config文件,并重命名output.config为App.config;

    6、在Client对应的Program.cs下编写如下程序,然后启动Client程序。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Client
    {
        class Program
        {
            static void Main(string[] args)
            {
                WcfServicesClient client = new WcfServicesClient();
                Console.WriteLine(client.Add(10, 20));
                Console.ReadKey();
            }
        }
    }

    测试结果

    总结

    1、我们可以借助微软自带的svcutil工具来生成服务端对应的客户端代理类(以管理员身份启动和修改服务端对应的名称);

      svcutil http://localhost:8800/?wsdl /o:Client.cs

    2、生成代理类时,服务端需要先开启(以管理员身份启动); 

    方法二、通过添加服务引用的方式

    这种方法和WebService的方式类似,不做详细说明。

    1、项目引用上右击选择添加服务引用;

    2、编写如下代码,实现客户端与服务端的通信。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Client2
    {
        class Program
        {
            static void Main(string[] args)
            {
                ServiceReference2.WcfServicesClient client = new ServiceReference2.WcfServicesClient();
                Console.WriteLine(client.Add(10, 30));
                Console.ReadKey();
            }
        }
    }

    注意:同样需要添加System.ServiceModel引用。

      作者:Jeremy.Wu
      出处:https://www.cnblogs.com/jeremywucnblog/
      本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Redis入门(二)——基本操作
    Redis入门(一)——安装
    Switch按钮
    Vue入门(三)——模拟网络请求加载本地数据
    Vue入门(二)——Demo
    Vue入门(一)——环境搭建
    Oracle 存储过程
    函数节流
    jQuery实现瀑布流
    二分搜索法整理
  • 原文地址:https://www.cnblogs.com/jeremywucnblog/p/12813808.html
Copyright © 2011-2022 走看看