• WCF通信简单学习实例


      最近在学习WCF通信,自己简单做个实例分享一下,环境是VS2015,使用的项目都是WPF的项目,其实大家用Winform或者Web项目也可以,都可以用的。

    一、服务器端

    1、创建WCF服务

    服务名为WCFServer,而后自动生成如下两个文件,IMyWCFServer为服务契约接口,MyWCFServer为服务契约接口的具体实现。服务契约其实就是声明了客户端可以访问的函数接口。

    2、声明服务契约

    IMyWCFService代码:

     1 namespace WCFServer
     2 {
     3     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IMyWCFService”。
     4     [ServiceContract]
     5     public interface IMyWCFService
     6     {
     7         //声明服务契约的接口函数
     8 
     9         [OperationContract]
    10         void DoWork();
    11 
    12         [OperationContract]
    13         string GetSomeData(string name);
    14     }
    15 }

    3、实现服务契约

     MyWCFSerivice代码:

     1 namespace WCFServer
     2 {
     3     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“MyWCFService”。
     4     public class MyWCFService : IMyWCFService
     5     {
     6         public void DoWork()
     7         {
     8             Console.Write("111");
     9             Console.Read();
    10         }
    11         public string GetSomeData(string name)
    12         {
    13             return name + " Hello!";
    14         }
    15     }
    16 }

    App.config配置文件会自动生成如下代码:

     1 <system.serviceModel>
     2         <bindings>
     3             <basicHttpBinding>
     4                 <binding name="BasicHttpBinding_IMyWCFService" />
     5             </basicHttpBinding>
     6         </bindings>
     7         <client>
     8             <endpoint address="http://localhost:8733/Design_Time_Addresses/WCFServer/MyWCFService/"  //引用服务的链接
     9                 binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyWCFService"
    10                 contract="MyWCF.IMyWCFService" name="BasicHttpBinding_IMyWCFService" />
    11         </client>
    12 </system.serviceModel>

    4、开启服务

    ServiceHost host = new ServiceHost(typeof(MyWCFService));
    host.Open();

    5、连通性测试

    使用浏览器访问该引用服务链接,如出现如下图类似界面即服务端部署成功。

    二、客户端

    1、客户端添加WCF服务引用

    2、调用服务契约函数

    1 //创建WCF服务引用的实例
    2 WCFClient.MyWCF.MyWCFServiceClient W = new MyWCFServiceClient(); 
    3 //调用服务契约声明的接口
    4 W.DoWork();
    5 string msg = W.GetSomeData("Bobbie");
    6 MessageBox.Show(msg);

    3、运行结果

    客户端出现“Bobbie Hello!”的弹窗,服务端终端打印"111"

      以上便是WCF的简单应用,WCF可以通过简单的配置和部署就可以实现C/S架构。更复杂的全双工方式可以看我的另一篇文章:https://www.cnblogs.com/xiaomengshan/p/11175566.html 

  • 相关阅读:
    JMS03061AH002 verilog 驱动程序
    modelsim do.do
    Nodemcu的GPIO接口介绍(ZT)
    对于RFIDRC522 模块的读写操作【Arduino】(ZT)
    归并排序
    WebGIS开发培训(ArcGIS API for JavaScript方向)
    将 ASP.NET MVC 2 项目升级到 ASP.NET MVC 3
    控制台应用项目中使用WatinWeb测试工具遇到的问题
    使用UI测试工具Watin遇到的问题(续)
    使用Specflow 和XUnit 进行BDD测试项目配置方法
  • 原文地址:https://www.cnblogs.com/xiaomengshan/p/11159266.html
Copyright © 2020-2023  润新知