• Open Interface Service WCF三种通信模式


    WCF三种通信模式

    一.请求响应模式:

    概念:客户端发送请求,一直等待服务端响应,在此期间处于等待(假死)状态;直到服务器响应,才能继续执行其他的操作;

    即使返回值是void 也属于请求与答复模式。

    例:

    [OperationContract]

    string ShowName(string name);

    二.单项模式:

    概念:客户端发送请求,无论服务器端是否有响应,都会继续执行其他操作;

    使用 IsOneWay=true 标记的操作不得声明输出参数、引用参数或返回值

    例:

     [OperationContract(IsOneWay = true)]

     void ShowName(string name);

    三.双工模式:

    概念:双工模式建立在上面两种模式的基础之上,实现客户端与服务端相互的调用。相互调用:以往我们只是在客户端调用服务端,然后服务端有返回值返回客户端,而相互调用不光是客户端调用服务端,而且服务端也可以调用客户端的方法。

    双工模式建立在以上两种模式之上,所以不冲突;

    例:

    [ServiceContract(CallbackContract = typeof(IUserCallback))]
        public interface IUser
        {
            [OperationContract]
            string ShowName(string name);
        }
       //回调的接口
        public interface IUserCallback
        {
            [OperationContract(IsOneWay = true)]
            void PrintSomething(string str);
        }

    扩展知识:

    回调绑定:

    1.WSDualHttpBinding;

    2.NetTcpBinding;

    3.NetNamedPipeBinding;

    4.NetPeerTcpBinding;

    例:

    <endpoint address=""  binding="wsDualHttpBinding" contract="WCFService_DualPlex.IUser"></endpoint>

  • 相关阅读:
    C/C++程序内存的分配
    【解题报告】UVA101 The Blocks Problem
    洗牌算法
    【持续更新】算法竞赛常用模板
    北京邮电大学2021乐理公共选修课期末考试
    Oracle通用大数据量存储过程分页修正版
    (转)NHibernate 3.0在PetShop 3层架构中的应用
    Json.Net学习笔记
    JS获得浏览器高度和宽度参数
    jQuery数组处理汇总
  • 原文地址:https://www.cnblogs.com/zlp520/p/7203795.html
Copyright © 2020-2023  润新知