码迷,mamicode.com
首页 > 其他好文 > 详细

我们一起学习WCF 第四篇单通讯和双向通讯

时间:2015-07-06 15:37:44      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

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

技术分享

首先我们先看单向通讯:

第一步:编写服务协定

技术分享
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。然后在次运行看看结果

技术分享

技术分享

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

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

源码下载

我们一起学习WCF 第四篇单通讯和双向通讯

标签:

原文地址:http://www.cnblogs.com/LipeiNet/p/4624291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!