zoukankan      html  css  js  c++  java
  • 我们一起学习WCF 第四篇单通讯和双向通讯

      前言:由于个人原因很久没有更新这个系列了,我会继续的更新这系列的文章。这一章是单向和双向通讯。所谓的单向就是只有发送却没有回复,双向是既有发送还有回复。就是有来无往代表单向,礼尚往来表示双向。下面我用一个简单用例图表示一下(其中一个老师很严厉说的话大家都默默接受,另一个则相反)


    首先我们先看单向通讯:

    第一步:编写服务协定

    1  [ServiceContract(Namespace = "singleTrans")]
    2     public interface ITeacher
    3    {
    4         [OperationContract(IsOneWay = true)]
    5         void Speak(string message);
    6    }
    单向服务协定

    注释1:IsOneWay = true  表示单向通讯,false表示双向通讯

    第二步:完成服务协定

    1  public void Speak(string message)
    2        {
    3           Console.WriteLine("老师下达的命令:{0}",message);
    4        }
    实现协定

    第三步:配置服务器(同前几篇)

    第四步:客户端调用运行结果

    那么单向通讯就完成了。

    现在我们修改一下服务协定

    协定
     [ServiceContract(Namespace = "singleTrans")]
        public interface ITeacher
       {
            [OperationContract(IsOneWay = true)]
            string Speak(string message);
       }
    实现
        public string Speak(string message)
           {
              Console.WriteLine("老师下达的命令:{0}",message);
                return "保证完成任务";
           }
    修改版

    运行结果:

    出现错误了所有总结:

    启用单向通讯的方法,不能有返回值(void可以),不能有out参数,只允许传入参数

    现在我们在来看一下双向协定

    把刚刚的IsOneWay = false。然后在次运行看看结果

    这回就成功了,既调用了服务,也得到了返回的数据。

    这一篇也表面也很简单,但是很多更深的需要自己去理解去想。

    源码下载

  • 相关阅读:
    团队站立会议09
    团队站立会议08
    团队绩效
    团队站立会议07
    团队站立会议06
    团队站立会议05
    团队站立会议04
    团队站立会议03
    团队站立会议02
    反转链表
  • 原文地址:https://www.cnblogs.com/LipeiNet/p/4624291.html
Copyright © 2011-2022 走看看